@import url(fontawesome-all.min.css);
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,600,400italic,600italic|Roboto+Slab:400,700");
/*
	Editorial by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
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, 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, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
/*	vertical-align: baseline;*/
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

body{line-height:1;}

ol, ul{list-style: none;}

blockquote, q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

table{
	border-collapse: collapse;
	border-spacing: 0;
}

body {-webkit-text-size-adjust: none; }

mark {
	background-color: transparent;
	color: inherit;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

select, textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

/* Basic */
@-ms-viewport {width: device-width;}

body {-ms-overflow-style: scrollbar;}

@media screen and (max-width: 480px) {
	html, body {min-width: 320px; }
}

html {box-sizing: border-box; }

*, *:before, *:after {box-sizing: border-box; }

body {background: #ffffff; }
	body.is-preload *, body.is-preload *:before, body.is-preload *:after, body.is-resizing *, body.is-resizing *:before, body.is-resizing *:after {
	-moz-animation: none !important;
	-webkit-animation: none !important;
	-ms-animation: none !important;
	animation: none !important;
	-moz-transition: none !important;
	-webkit-transition: none !important;
	-ms-transition: none !important;
	transition: none !important;
}

/* Type */

strong, b {color: #3d4449;font-weight: 600; }

em, i {font-style: italic; }

p {margin: 0 0 2em 0; }

h1, h2, h3, h4, h5, h6 {
	color: #3d4449;
	font-family: "Roboto Slab", serif;
	font-weight: 700;
	line-height: 1.5;
	margin: 0 0 1em 0;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	color: inherit;
	text-decoration: none;
	border-bottom: 0;
}

h1 {
	font-size: 4em;
	margin: 0 0 0.5em 0;
	line-height: 1.3;
}

h2 {font-size: 1.75em; }
h3 {font-size: 1.25em; }
h4 {font-size: 1.1em; }
h5 {font-size: 0.9em; }
h6 {font-size: 0.7em; }

@media screen and (max-width: 90000px) {
	h1 {font-size: 3.5em; }
}

@media screen and (max-width: 980px) {
	h1 {font-size: 3.25em; }
}

@media screen and (max-width: 736px) {
	h1 {font-size: 2em;line-height: 1.4; }
	h2 {font-size: 1.5em; }
}

sub {
	font-size: 0.8em;
	position: relative;
	top: 0.5em;
}

sup {
	font-size: 0.8em;
	position: relative;
	top: -0.5em;
}

blockquote {
	border-left: solid 3px rgba(210, 215, 217, 0.75);
	font-style: italic;
	margin: 0 0 2em 0;
	padding: 0.5em 0 0.5em 2em;
}

code {
	background: rgba(230, 235, 237, 0.25);
	border-radius: 0.375em;
	border: solid 1px rgba(210, 215, 217, 0.75);
	font-family: "Courier New", monospace;
	font-size: 0.9em;
	margin: 0 0.25em;
	padding: 0.25em 0.65em;
}

pre {
	-webkit-overflow-scrolling: touch;
	font-family: "Courier New", monospace;
	font-size: 0.9em;
	margin: 0 0 2em 0;
}

pre code {
	display: block;
	line-height: 1.75;
	padding: 1em 1.5em;
	overflow-x: auto;
}

hr {
	border: 0;
	border-bottom: solid 1px rgba(210, 215, 217, 0.75);
	margin: 2em 0;
}
hr.major {margin: 3em 0; }

.align-left {text-align: left; }
.align-center {text-align: center; }
.align-right {text-align: right; }


/* Icons */
.icon {text-decoration: none;}

.icon:before {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	text-transform: none !important;
	font-family: 'Font Awesome 5 Free';
	font-weight: 400;
	margin:0 7px 0 0;
}

.icon:before {line-height: inherit;}
.icon > .label {display: none;}
.icon.solid:before {font-weight: 900;}
.icon.brands:before {font-family: 'Font Awesome 5 Brands';}


/* Section/Article */
section.special, article.special {text-align: center; }

header p {
	font-family: "Roboto Slab", serif;
	font-size: 1em;
	font-weight: 400;
	letter-spacing: 0.075em;
	margin-top: -0.5em;
	text-transform: uppercase;
}

header.major > :last-child {
	border-bottom: solid 3px #f56a6a;
	display: inline-block;
	margin: 0 0 2em 0;
	padding: 0 0.75em 0.5em 0;
}

header.main > :last-child {margin: 0 0 1em 0; }


/* Wrapper */
#wrapper {
	display: -moz-flex;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-moz-flex-direction: row-reverse;
	-webkit-flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	min-height: 100vh;
}

/* Main */
#main {
	-moz-flex-grow: 1;
	-webkit-flex-grow: 1;
	-ms-flex-grow: 1;
	flex-grow: 1;
	-moz-flex-shrink: 1;
	-webkit-flex-shrink: 1;
	-ms-flex-shrink: 1;
	flex-shrink: 1;
	width: calc(100% - 216px);
}
#main > .inner {
	padding: 0 6em 0.1em 6em ;
	margin: 0 auto;
	max-width: 110em;
}
#main > .inner > section {
	padding: 6em 0 4em 0 ;
	border-top: solid 2px rgba(210, 215, 217, 0.75);
}
#main > .inner > section:first-of-type {border-top: 0 !important; }

@media screen and (max-width: 90000px) {
	#main > .inner {padding: 0 5em 0.1em 5em ; }
	#main > .inner > section {padding: 5em 0 3em 0 ; }
}
@media screen and (max-width: 960px) {
	#main > .inner {padding: 0 4em 0.1em 4em ; }
	#main > .inner > section {padding: 4em 0 2em 0 ; }
}
@media screen and (max-width: 736px) {
	#main > .inner {padding: 0 2em 0.1em 2em ; }
	#main > .inner > section {padding: 3em 0 1em 0 ; }
}

/* Sidebar */
#search form {
	text-decoration: none;
	position: relative;
}
#search form:before {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	text-transform: none !important;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
}
#search form:before {
	-moz-transform: scaleX(-1);
	-webkit-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	transform: scaleX(-1);
	color: #7f888f;
	content: '\f002';
	cursor: default;
	display: block;
	font-size: 1.5em;
	height: 2em;
	line-height: 2em;
	opacity: 0.325;
	position: absolute;
	right: 0;
	text-align: center;
	top: 0;
	width: 2em;
}
#search form input[type="text"] {padding-right: 2.75em; }

#sidebar {
	-moz-flex-grow: 0;
	-webkit-flex-grow: 0;
	-ms-flex-grow: 0;
	flex-grow: 0;
	-moz-flex-shrink: 0;
	-webkit-flex-shrink: 0;
	-ms-flex-shrink: 0;
	flex-shrink: 0;
	-moz-transition: margin-left 0.5s ease, box-shadow 0.5s ease;
	-webkit-transition: margin-left 0.5s ease, box-shadow 0.5s ease;
	-ms-transition: margin-left 0.5s ease, box-shadow 0.5s ease;
	transition: margin-left 0.5s ease, box-shadow 0.5s ease;
	background-color: #fff;
	border-right:1px solid #eee;
	font-size: 0.9em;
	position: relative;
	width: 15%;
    -webkit-box-shadow: 2px 2px 10px 0px rgba(50, 50, 50, 0.38);
    -moz-box-shadow: 2px 2px 10px 0px rgba(50, 50, 50, 0.38);
    box-shadow: 2px 2px 10px 0px rgba(50, 50, 50, 0.38);
}
#sidebar h2 {font-size: 1.38889em; }
#sidebar > .inner {
	padding: 2.22222em 2.22222em 2.44444em 2.22222em ;
	position: relative;
	width: 15em;
}
#sidebar > .inner > * {
	border-bottom: solid 2px rgba(210, 215, 217, 0.75);
	margin: 0 0 3.5em 0;
	padding: 0 0 3.5em 0;
}
#sidebar > .inner > * > :last-child {margin-bottom: 0; }
#sidebar > .inner > *:last-child {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}
#sidebar > .inner > .alt {

	border-bottom: 0;
	margin: -2.22222em 0 4.44444em -2.22222em;
	padding: 2.22222em;
	width: calc(100% + 4.44444em);
}
#sidebar .toggle {
	text-decoration: none;
	-moz-transition: left 0.5s ease;
	-webkit-transition: left 0.5s ease;
	-ms-transition: left 0.5s ease;
	transition: left 0.5s ease;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
	border: 0;
	display: block;
	height: 7.5em;
	left: 15em;
	line-height: 7.5em;
	outline: 0;
	overflow: hidden;
	position: absolute;
	text-align: center;
	text-indent: -15em;
	white-space: nowrap;
	top: -20px;
	width: 6em;
	z-index: 10000;
}
#sidebar .toggle:before {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	color:#fff;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	text-transform: none !important;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
}
#sidebar .toggle:before {
	content: '\f0c9';
	font-size: 2rem;
	height: inherit;
	left: 0;
	line-height: inherit;
	position: absolute;
	text-indent: 0;
	top: 0;
	width: inherit;
}
#sidebar.inactive {margin-left: -15em; }
@media screen and (max-width: 90000px) {
	#sidebar {width: 216px; }
	#sidebar > .inner {
		padding: 1.66667em 1.66667em 1.33333em 1.66667em ;
		width: 216px;
	}
	#sidebar > .inner > .alt {
		margin: -1.66667em 0 3.33333em -1.66667em;
		padding: 1.66667em;
		width: calc(100% + 3.33333em);
	}
	#sidebar .toggle {
		height: 6.25em;
		left: 15em;
		line-height: 6.25em;
		text-indent: 5em;
		width: 5em;
		display:none;
	}
	#sidebar .toggle:before {font-size: 1.5rem; }
	#sidebar.inactive {margin-left: -15em; }
}

/*
@media screen and (max-width: 1280px) {
	#sidebar {
		box-shadow: 0 0 5em 0 rgba(0, 0, 0, 0.175);
		height: 100%;
		left: 0;
		position: fixed;
		top: 0;
		z-index: 10000;
	}
	#sidebar.inactive {box-shadow: none; }
	#sidebar > .inner {
		-webkit-overflow-scrolling: touch;
		height: 100%;
		left: 0;
		overflow-x: hidden;
		overflow-y: auto;
		position: absolute;
		top: 0;
	}
	#sidebar > .inner:after {
		content: '';
		display: block;
		height: 4em;
		width: 100%;
	}
	#sidebar .toggle {
		text-indent: 6em;
		width: 6em;
	}
	#sidebar .toggle:before {
		font-size: 1.5rem;
		margin-left: -0.4375em;
	}
	body.is-preload #sidebar {display: none; }
}
*/


@media screen and (max-width: 960px) {
	#sidebar {
		box-shadow: 0 0 5em 0 rgba(0, 0, 0, 0.175);
		height: 100%;
		left: 0;
		position: fixed;
		top: 0;
		z-index: 10000;
	}
	#sidebar .toggle {
		text-indent: 725em;
		width: 3.6em;
		display:block;
	}
	#sidebar .toggle:before {
		color: #7f888f;
		margin-left: -0.0625em;
		margin-top: -0.35em;
		font-size: 1.1rem;
		z-index: 1;
	}
	#sidebar .toggle:after {
		background: rgba(222, 225, 226, 0.75);
		border-radius: 0.375em;
		content: '';
		height: 2.4em;
		left: 0.2em;
		position: absolute;
		top: 1.5em;
		width: 3em;

	}
}
/* Header */
#header {
	display: -moz-flex;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	border-bottom: solid 5px #f56a6a;
	padding: 6em 0 1em 0;
	position: relative;
}
#header > * {
	-moz-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	margin-bottom: 0;
}
#header .logo {
	border-bottom: 0;
	color: inherit;
	font-family: "Roboto Slab", serif;
	font-size: 1.125em;
}
#header .icons {text-align: right; }
@media screen and (max-width: 90000px) {
	#header {padding-top: 5em; }
}
@media screen and (max-width: 736px) {
	#header {padding-top: 6.5em; }
	#header .logo {
		font-size: 1.25em;
		margin: 0;
	}
	#header .icons {
		height: 5em;
		line-height: 5em;
		position: absolute;
		right: -0.5em;
		top: 0;
	}
}

/* Banner */
#banner {
	padding: 6em 0 4em 0 ;
	display: -moz-flex;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
}
#banner h1 {margin-top: -0.125em; }
#banner .content {
	-moz-flex-grow: 1;
	-webkit-flex-grow: 1;
	-ms-flex-grow: 1;
	flex-grow: 1;
	-moz-flex-shrink: 1;
	-webkit-flex-shrink: 1;
	-ms-flex-shrink: 1;
	flex-shrink: 1;
	width: 50%;
}
#banner .image {
	-moz-flex-grow: 0;
	-webkit-flex-grow: 0;
	-ms-flex-grow: 0;
	flex-grow: 0;
	-moz-flex-shrink: 0;
	-webkit-flex-shrink: 0;
	-ms-flex-shrink: 0;
	flex-shrink: 0;
	display: block;
	margin: 0 0 2em 4em;
	width: 50%;
}
#banner .image img {
	height: 100%;
	-moz-object-fit: cover;
	-webkit-object-fit: cover;
	-ms-object-fit: cover;
	object-fit: cover;
	-moz-object-position: center;
	-webkit-object-position: center;
	-ms-object-position: center;
	object-position: center;
	width: 100%;
}
@media screen and (orientation: portrait) {
	#banner {
		-moz-flex-direction: column-reverse;
		-webkit-flex-direction: column-reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
	#banner h1 br {display: none; }
	#banner .content {
		-moz-flex-grow: 0;
		-webkit-flex-grow: 0;
		-ms-flex-grow: 0;
		flex-grow: 0;
		-moz-flex-shrink: 0;
		-webkit-flex-shrink: 0;
		-ms-flex-shrink: 0;
		flex-shrink: 0;
		width: 100%;
	}
	#banner .image {
		-moz-flex-grow: 0;
		-webkit-flex-grow: 0;
		-ms-flex-grow: 0;
		flex-grow: 0;
		-moz-flex-shrink: 0;
		-webkit-flex-shrink: 0;
		-ms-flex-shrink: 0;
		flex-shrink: 0;
		margin: 0 0 4em 0;
		height: 25em;
		max-height: 50vh;
		min-height: 18em;
		width: 100%; 
	}
}
@media screen and (orientation: portrait) and (max-width: 480px) {
	#banner .image {max-height: 35vh; }
}

/* Footer */
#footer .copyright {
	color: #9fa3a6;
	font-size: 0.9em;
}
#footer .copyright a {color: inherit; }

/* Menu */
#menu ul {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	color: #3d4449;
	font-family: 'OpenSans', 'Noto Sans', 'Noto Sans KR', sans-serif;
	font-weight: 400;
	letter-spacing: 0.075em;
	list-style: none;
	margin-bottom: 0;
	padding: 0;
/*	text-transform: uppercase; */
}
#menu ul a, #menu ul span {
	border-bottom: 0;
	color: inherit;
	cursor: pointer;
	display: block;
	font-size: 1.06em;
	padding: 0.3em 0;
	font-family: 'OpenSans', 'Noto Sans', 'Noto Sans KR', sans-serif;
	font-weight:400;
}
#menu ul a:hover, #menu ul span:hover {color: #4c30a5; }
#menu ul a.opener, #menu ul span.opener {
	-moz-transition: color 0.2s ease-in-out;
	-webkit-transition: color 0.2s ease-in-out;
	-ms-transition: color 0.2s ease-in-out;
	transition: color 0.2s ease-in-out;
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
	position: relative;
}
#menu ul a.opener:before, #menu ul span.opener:before {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 33px;
	text-transform: none !important;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
}
#menu ul a.opener:before, #menu ul span.opener:before {
	-moz-transition: color 0.2s ease-in-out, -moz-transform 0.2s ease-in-out;
	-webkit-transition: color 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
	-ms-transition: color 0.2s ease-in-out, -ms-transform 0.2s ease-in-out;
	transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
	color: #9fa3a6;
	content: '\f078';
	position: absolute;
	right: 0;
	line-height: 24px;
}
#menu ul a.opener:hover:before, #menu ul span.opener:hover:before {color: #4c30a5; }
#menu ul a.opener.active + ul, #menu ul span.opener.active + ul{
	margin: 0.5em 0 2em 0;
}
#menu ul a.opener.active + ul li, #menu ul span.opener.active + ul li{
	opacity:1;
	height:25px;
	-webkit-transition: all 0.5s; 
	-moz-transition:all 0.5s; 
	-o-transition:all 0.5s; 
}
#menu ul a.opener.active:before, #menu ul span.opener.active:before {
	-moz-transform: rotate(-180deg);
	-webkit-transform: rotate(-180deg);
	-ms-transform: rotate(-180deg);
	transform: rotate(-180deg);

}

#menu > ul > li {
	border-top: solid 1px rgba(210, 215, 217, 0.75);
	margin: 0.5em 0 0 0;
	padding: 0.5em 0 0 0;
}

#menu > ul > li > ul {
	color: #666;
	padding-left: 0.5em;

}
#menu > ul > li > ul a, #menu > ul > li > ul span {font-size: 1em; }
#menu > ul > li > ul > li {
	height:0;
	opacity:0;	
	-webkit-transition: height 0.5s; 
	-moz-transition:height 0.5s; 
	-o-transition:height 0.5s; 
}
#menu > ul > li:first-child {
	border-top: 0;
	margin-top: 0;
	padding-top: 0;
}

#menu ul a.opener.active + ul li.mlabel, #menu ul span.opener.active + ul li.mlabel{height:20px;color:#000;margin-top:10px;}

#menu ul a.opener.active + ul li.mlabel:before, #menu ul span.opener.active + ul li.mlabel:before {content:""; display:inline-block; top:50%; transform:translateY(-50%); left:0; margin-right:3px; width:4px; height:4px; background:#666; border-radius:50%;}

.mlabel a{display:inline-block !important;}