@import url("//fonts.googleapis.com/css?family=Source+Sans+Pro:300,700,900");
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; }

/* Box Model */
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

/* Basic */
@-ms-viewport { width: device-width; }
body { -ms-overflow-style: scrollbar; }
@media screen and (max-width: 480px) {
    html, body { min-width: 320px; }
}
body { background: #ffffff; }
body.is-loading *, body.is-loading *:before, body.is-loading *: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 */
body, input, select, textarea { color: #585858; font-family: "Source Sans Pro", Helvetica, sans-serif; font-size: 16pt; font-weight: 300; line-height: 1.75; }
@media screen and (max-width: 1680px) {
    body, input, select, textarea { font-size: 14pt; }
}
@media screen and (max-width: 1280px) {
    body, input, select, textarea { font-size: 12pt; }
}
a { -moz-transition: border-bottom-color 0.2s ease, color 0.2s ease; -webkit-transition: border-bottom-color 0.2s ease, color 0.2s ease; -ms-transition: border-bottom-color 0.2s ease, color 0.2s ease; transition: border-bottom-color 0.2s ease, color 0.2s ease; text-decoration: none; color: #585858; border-bottom: dotted 1px rgba(88, 88, 88, 0.5); }
a:hover { border-bottom-color: transparent; }
strong, b { font-weight: 900; }
em, i { font-style: italic; }
p { margin: 0 0 2em 0; }
h1 { text-align:center; font-size: 2.75em; font-weight: 700; line-height: 1.3; letter-spacing: -0.035em; }
@media screen and (max-width: 736px) {
    h1 { font-size: 2em; }
}
@media screen and (max-width: 360px) {
    h1 { font-size: 1.75em; }
}
h2, h3, h4, h5, h6 { font-weight: 900; line-height: 1.5; margin: 0 0 2em 0; text-transform: uppercase; letter-spacing: 0.35em; }
h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; }
h2 { font-size: 1.5em; margin-bottom:1em; }
h3 { font-size: 1em; }
h4, h5, h6 { font-size: 0.8em; }

/* Table */
.table-wrapper { -webkit-overflow-scrolling: touch; overflow-x: auto; }
table { margin: 0 0 2em 0; width: 100%; }
table tbody tr { border: solid 1px #c9c9c9; border-left: 0; border-right: 0; }
table tbody tr:nth-child(2n + 1) { background-color: rgba(144, 144, 144, 0.075); }
table td { padding: 0.75em 0.75em; }
table th { font-size: 0.9em; font-weight: 900; padding: 0 0.75em 0.75em 0.75em; text-align: left; }
table thead { border-bottom: solid 2px #c9c9c9; }
table tfoot { border-top: solid 2px #c9c9c9; }
table.alt { border-collapse: separate; }
table.alt tbody tr td { border: solid 1px #c9c9c9; border-left-width: 0; border-top-width: 0; }
table.alt tbody tr td:first-child { border-left-width: 1px; }
table.alt tbody tr:first-child td { border-top-width: 1px; }
table.alt thead { border-bottom: 0; }
table.alt tfoot { border-top: 0; }

/* Header */
#header { padding: 5em 0 0.1em 0 ; border-bottom:1px solid #ccc; margin-bottom:2em; }
#header .logo { display: block; border-bottom: 0; color: inherit; font-weight: 900; letter-spacing: 0.35em; margin: 0 0 1em 0; text-decoration: none; text-transform: uppercase; display: inline-block; }
#header nav { position: fixed; right: 2em; top: 2em; z-index: 10000; }
#header nav ul { display: -moz-flex; display: -webkit-flex; display: -ms-flex; display: flex; -moz-align-items: center; -webkit-align-items: center; -ms-align-items: center; align-items: center; list-style: none; margin: 0; padding: 0; }
#header nav ul li { display: block; padding: 0; }
#header nav ul li a { display: block; position: relative; height: 3em; line-height: 3em; padding: 0 1.5em; background-color: rgba(255, 255, 255, 0.5); border-radius: 4px; border: 0; font-size: 0.8em; font-weight: 900; letter-spacing: 0.35em; text-transform: uppercase; }
#header nav ul li a[href="#menu"] { -webkit-tap-highlight-color: transparent; width: 4em; text-indent: 4em; font-size: 1em; overflow: hidden; padding: 0; white-space: nowrap; }
#header nav ul li a[href="#menu"]:before, #header nav ul li a[href="#menu"]:after { -moz-transition: opacity 0.2s ease; -webkit-transition: opacity 0.2s ease; -ms-transition: opacity 0.2s ease; transition: opacity 0.2s ease; content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-position: center; background-repeat: no-repeat; background-size: 2em 2em; }
#header nav ul li a[href="#menu"]:before { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cstyle%3Eline %7B stroke-width: 8px%3B stroke: %23f2849e%3B %7D%3C/style%3E%3Cline x1='0' y1='25' x2='100' y2='25' /%3E%3Cline x1='0' y1='50' x2='100' y2='50' /%3E%3Cline x1='0' y1='75' x2='100' y2='75' /%3E%3C/svg%3E"); opacity: 0; }
#header nav ul li a[href="#menu"]:after { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cstyle%3Eline %7B stroke-width: 8px%3B stroke: %23585858%3B %7D%3C/style%3E%3Cline x1='0' y1='25' x2='100' y2='25' /%3E%3Cline x1='0' y1='50' x2='100' y2='50' /%3E%3Cline x1='0' y1='75' x2='100' y2='75' /%3E%3C/svg%3E"); opacity: 1; }
#header nav ul li a[href="#menu"]:hover:before { opacity: 1; }
#header nav ul li a[href="#menu"]:hover:after { opacity: 0; }
@media screen and (max-width: 736px) {
    #header { padding: 3em 0 0.1em 0 ; }
    #header nav { right: 0.5em; top: 0.5em; }
    #header nav ul li a[href="#menu"]:before, #header nav ul li a[href="#menu"]:after { background-size: 1.5em 1.5em; }
}

/* Menu */
#wrapper { -moz-transition: opacity 0.45s ease; -webkit-transition: opacity 0.45s ease; -ms-transition: opacity 0.45s ease; transition: opacity 0.45s ease; opacity: 1; }
#menu { -moz-transform: translateX(22em); -webkit-transform: translateX(22em); -ms-transform: translateX(22em); transform: translateX(22em); -moz-transition: -moz-transform 0.45s ease, visibility 0.45s; -webkit-transition: -webkit-transform 0.45s ease, visibility 0.45s; -ms-transition: -ms-transform 0.45s ease, visibility 0.45s; transition: transform 0.45s ease, visibility 0.45s; position: fixed; top: 0; right: 0; width: 22em; max-width: 80%; height: 100%; -webkit-overflow-scrolling: touch; background: #22741C; color: #ffffff; cursor: default; visibility: hidden; z-index: 10002; }
#menu > .inner { -moz-transition: opacity 0.45s ease; -webkit-transition: opacity 0.45s ease; -ms-transition: opacity 0.45s ease; transition: opacity 0.45s ease; -webkit-overflow-scrolling: touch; position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 2.75em; opacity: 0; overflow-y: auto; }
#menu > .inner > ul { list-style: none; margin: 0 0 1em 0; padding: 0; }
#menu > .inner > ul > li { padding: 0; border-top: solid 1px rgba(255, 255, 255, 0.15); }
#menu > .inner > ul > li a { display: block; padding: 1em 0; line-height: 1.5; border: 0; color: inherit; }
#menu > .inner > ul > li:first-child { border-top: 0; margin-top: -1em; }
#menu > .close { -moz-transition: opacity 0.45s ease, -moz-transform 0.45s ease; -webkit-transition: opacity 0.45s ease, -webkit-transform 0.45s ease; -ms-transition: opacity 0.45s ease, -ms-transform 0.45s ease; transition: opacity 0.45s ease, transform 0.45s ease; -moz-transform: scale(0.25) rotate(180deg); -webkit-transform: scale(0.25) rotate(180deg); -ms-transform: scale(0.25) rotate(180deg); transform: scale(0.25) rotate(180deg); -webkit-tap-highlight-color: transparent; display: block; position: absolute; top: 2em; left: -6em; width: 6em; text-indent: 6em; height: 3em; border: 0; font-size: 1em; opacity: 0; overflow: hidden; padding: 0; white-space: nowrap; }
#menu > .close:before, #menu > .close:after { -moz-transition: opacity 0.2s ease; -webkit-transition: opacity 0.2s ease; -ms-transition: opacity 0.2s ease; transition: opacity 0.2s ease; content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-position: center; background-repeat: no-repeat; background-size: 2em 2em; }
#menu > .close:before { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cstyle%3Eline %7B stroke-width: 8px%3B stroke: %23f2849e%3B %7D%3C/style%3E%3Cline x1='15' y1='15' x2='85' y2='85' /%3E%3Cline x1='85' y1='15' x2='15' y2='85' /%3E%3C/svg%3E"); opacity: 0; }
#menu > .close:after { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cstyle%3Eline %7B stroke-width: 8px%3B stroke: %23585858%3B %7D%3C/style%3E%3Cline x1='15' y1='15' x2='85' y2='85' /%3E%3Cline x1='85' y1='15' x2='15' y2='85' /%3E%3C/svg%3E"); opacity: 1; }
#menu > .close:hover:before { opacity: 1; }
#menu > .close:hover:after { opacity: 0; }
@media screen and (max-width: 736px) {
    #menu { -moz-transform: translateX(16.5em); -webkit-transform: translateX(16.5em); -ms-transform: translateX(16.5em); transform: translateX(16.5em); width: 16.5em; }
    #menu > .inner { padding: 2.75em 1.5em; }
    #menu > .close { top: 0.5em; left: -4.25em; width: 4.25em; text-indent: 4.25em; }
    #menu > .close:before, #menu > .close:after { background-size: 1.5em 1.5em; }
}
body.is-menu-visible #wrapper { -moz-pointer-events: none; -webkit-pointer-events: none; -ms-pointer-events: none; pointer-events: none; cursor: default; opacity: 0.25; }
body.is-menu-visible #menu { -moz-transform: translateX(0); -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); visibility: visible; }
body.is-menu-visible #menu > * { opacity: 1; }
body.is-menu-visible #menu .close { -moz-transform: scale(1.0) rotate(0deg); -webkit-transform: scale(1.0) rotate(0deg); -ms-transform: scale(1.0) rotate(0deg); transform: scale(1.0) rotate(0deg); opacity: 1; }

/* Main */
#main { padding: 0em 0 6em 0 ; overflow:hidden; }
@media screen and (max-width: 736px) {
    #main { padding: 0em 0 4em 0; }
}

/* Footer */
#footer { padding: 1em 0; background-color: #f6f6f6; text-align:center; }

/* Wrapper */
#wrapper > * > .inner { width: 100%; max-width: 68em; margin: 0 auto; padding: 0 2.5em; }
@media screen and (max-width: 736px) {
    #wrapper > * > .inner { padding: 0 1.25em; }
}

/* PHP */
.cut, .cut a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post-content a{color:#22741C}.content{overflow:hidden}article{width:100%}.sidebar{width:100%;box-sizing:border-box;border-left:1px solid #ccc;border-right:1px solid #ccc}.sidebar .title,.sidebar .title a{background:#22741C;color:#fff;display:block;padding:15px 0;font-weight:700;font-size:16px;text-align:center}.sidebar .sections a{display:block;padding:10px 0;border-bottom:1px solid #ccc;text-indent:5px}.sidebar{position:relative;width:100%;box-sizing:border-box;border-left:1px solid #ccc;border-right:1px solid #ccc}}.sidebar .sections li a:hover{background:#f4fcfe}.sidebar .sections li.current a{color:#22741C;font-weight:700}
.post-content a[href*="//"]:not([href*="php.joyy.kr"]):not([href*="localhost"])::after{content:"";display:inline-block;background-color:"green";background-size:18px;width:18px;height:18px;margin-left:4px;vertical-align:text-bottom}.post-content{word-wrap:break-word}.post-content pre{white-space:pre-wrap}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{line-height:2em;margin:0 0 1.5em;overflow:hidden;text-rendering:optimizeLegibility;font-weight:500;color:#333}.post-content p{margin:0 0 1.5em}.post-content ul,.post-content ol{margin:0 0 1.5em 1.5em;padding:0}.post-content p:empty{margin:0;height:0;display:none}.post-content small{font-size:.75em}.post-content .big{font-size:1.2em}.post-content blockquote{margin:.75em 0 .75em .75em}.post-content dl .post-content dd{margin:0 0 1.5em;padding:0 1.5em}.post-content .phpcode,div.classsynopsis{text-align:left}.post-content div.classsynopsisinfo_comment{margin-top:1.5em}.post-content .warn{padding:.75em 1em;margin:1.5em 0 1.5em 1.5em;border-top:.1875em solid}.post-content pre.info{border:1px solid;margin:1em 2em 1.3em;margin-right:.8em}.post-content strong,.post-content em{text-rendering:optimizeLegibility}.post-content em{font-weight:400;font-style:italic}.post-content strong,.post-content ol strong,.post-content ul strong,.post-content p strong{font-weight:600}.post-content .refsect1 code.parameter,.post-content strong code,.post-content strong pre,.post-content pre strong{font-weight:700}.post-content .refentry .refsect1{margin-bottom:3em}.post-content .refsect1 .parameter{cursor:pointer}.post-content .refsect1 dt{height:1.5em}.post-content .methodname strong{font-style:normal;font-weight:400}.post-content .center{text-align:center}.post-content div.tip,.post-content div.warning,.post-content div.caution,.post-content blockquote.note{padding:.75em;margin:1.5em 0;overflow:hidden}.post-content blockquote.note strong.note{font-size:1.125em}.post-content div.tip strong.tip,.post-content div.warning strong.warning,.post-content div.caution strong.caution{float:left;margin-right:.5em;font-size:1.125em}.post-content div.tip strong.tip:after,.post-content div.warning strong.warning:after,.post-content div.caution strong.caution:after{content:':'}.post-content blockquote.note p,.post-content div.caution p,.post-content div.warning p,.post-content div.tip p{margin:1.5em 0 0}.post-content blockquote.note :first-child + p,.post-content div.caution :first-child + p,.post-content div.warning :first-child + p,.post-content div.tip :first-child + p,.post-content blockquote.note p:first-child,.post-content div.caution p:first-child,.post-content div.warning p:first-child,.post-content div.tip p:first-child{margin:0}.post-content .refsect1 .dc-description,.post-content .refsect1 .dc-description code,.post-content .sect1 .dc-description,.post-content .sect1 .dc-description code{font-weight:400;margin:0}.post-content .refentry .parameters dl{margin-bottom:0}.post-content .example{margin:1.5em 0}.post-content .example-contents{margin-bottom:1.5em}.post-content .example-contents pre{margin:0}.post-content .example-contents > [class$="code"],.post-content .example-contents.screen,.post-content .informalexample .literallayout{padding:.75em}.post-content .classsynopsis,.post-content .refsect1 .fieldsynopsis,.post-content .refsect1 .dc-description,.post-content .sect1 .dc-description{padding:.75em;margin-bottom:1.5em}.post-content .phpcode code{display:block}.post-content .qandaentry dt .phpcode *{font-weight:400}.post-content ul{line-height:1.75em}.post-content ul.itemizedlist{list-style-type:circle}.post-content ul.simplelist,.post-content ul.chunklist{list-style-type:disc}.post-content ol{list-style-type:decimal}.post-content dl.qandaentry{border-top:1px solid}.post-content ul.chunklist_children{margin-top:0}.post-content div.sect1,div.partintro{position:relative}.post-content .verinfo{font-size:.875em;margin:0}.post-content .refname .verinfo{line-height:2.875em;float:right;font-weight:400}.post-content h1.refname + h1.refname{margin-top:-1.5em}.post-content .refnamediv{position:relative}.post-content .classsynopsis{margin-bottom:1.5em}.post-content .classsynopsisinfo_comment,.post-content .classsynopsis .constructorsynopsis,.post-content .classsynopsis .methodsynopsis,.post-content .classsynopsis .destructorsynopsis,.post-content .classsynopsis .fieldsynopsis{margin-left:1.5em}.post-content #changelang{border:0}.post-content abbr{border-color:#8892BF}.post-content header.title,.post-content h1:after,.post-content h2:after,.post-content h3:after{display:table;width:100%;content:"";margin-top:-1px;border-bottom:1px dotted}.post-content .title h1:after,.post-content .title h2:after,.post-content .title h3:after{display:none}.post-content ul{list-style-type:disc}.post-content ol{list-style-type:decimal}.post-content dl.qandaentry{border-color:#000}.post-content .interfacename a,.post-content .fieldsynopsis .type,.post-content .methodsynopsis .type,.post-content .constructorsynopsis .type{color:#693}.post-content .classsynopsisinfo .modifier,.post-content .fieldsynopsis .modifier,.post-content .methodsynopsis .modifier,.post-content .constructorsynopsis .modifier{color:#936}.post-content .classsynopsis{color:#4D4D4D}.post-content .classsynopsisinfo_comment{color:#f80}.post-content .title time{color:#333}.post-content .methodname b,.post-content .methodname strong,.post-content .methodname a,.post-content .classsynopsis .classname,.post-content .parameter{color:#369}.post-content .methodname a:hover{color:#fff;background-color:#369}.post-content .initializer,.post-content .initializer code{color:#936}.post-content .dc-description{color:#737373}.post-content #flash-message .success{background:#E6F2D9;border-color:#CCE6B3}.post-content #flash-message .info,.post-content div.tip{background:#D9E6F2;border-color:#B3CCE6;border-bottom-color:#9FBFDF}.post-content blockquote.note{background-color:#E6E6E6;border-color:#ccc}.post-content div.caution{background:#fcfce9;border-color:#e2e2d1}.post-content .refsect1 blockquote.note{background:#fff;border-color:#e5e6e9}.post-content #flash-message .error,.post-content div.warning{background:#F4DFDF;border-color:#EABFBF}.post-content .classsynopsis,.post-content .refsect1 .fieldsynopsis,.post-content .refsect1 .dc-description,.post-content .sect1 .dc-description,.post-content div.tip,.post-content blockquote.note,.post-content div.caution,.post-content div.warning{box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);border-radius:0 0 2px 2px}.post-content #usernotes .note .text,.post-content .example-contents > [class$="code"],.post-content .example-contents.screen,.post-content .informalexample .literallayout{background-color:#FFF;box-shadow:inset 0 1px 4px #d6d6d6;border-radius:2px}.post-content .refsect1 .example-contents > [class$="code"],.post-content .refsect1 .example-contents.screen{background:#f5f5f5}.post-content .classsynopsis,.post-content .refsect1 .fieldsynopsis,.post-content .refsect1 .dc-description,.post-content .sect1 .dc-description{background:#fff;border-color:#d9d9d9}.post-content .phpcode span.html{color:#000;background-color:transparent}.post-content .phpcode span.comment{color:#4F5B93;background-color:transparent}.post-content div.phpcode span.default{color:#369;background-color:transparent}.post-content div.phpcode span.keyword{color:#693;background-color:transparent}.post-content div.phpcode span.string{color:#c33;background-color:transparent}.post-content .para var,.post-content .simpara var{background-color:#eee;border-radius:2px;color:#333;padding:2px;white-space:nowrap;font-weight:700}.post-content var.reset{background:none;padding:0}.post-content .warn{border-color:#4F5B93;background-color:#fff;border-radius:0 0 2px 2px}.post-content pre.info{background-color:#efefef;border-color:#ddd}.post-content th{text-align:left}.post-content .segmentedlist{width:100%;margin:0 0 1.5em}.post-content span.font000000{color:#000}.post-content span.font0000BB{color:#00B}.post-content span.fontFF8000{color:#FF8000}.post-content span.font007700{color:#070}.post-content span.fontDD0000{color:#D00}


/* 로딩 */
 #loading_overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 9999; }
 .custom-spinner { width: 3.5rem; height: 3.5rem; border: 0.3em solid #f3f3f3; border-top: 0.3em solid #28a745; border-radius: 50%; animation: spin 1s linear infinite; }
 @keyframes spin { to { transform: rotate(360deg); } }