/* ---------- Helper classes ---------- */

/* 토글 */
.hid { display: none; }
.br { display: block; }

/* float */
.f-l { float: left; }
.f-r { float: right; }

/* float 셀프클리어 */
.clr { clear: both; content: '.'; display: block; height: 0; }

/* 중앙정렬 */
.psc-y { -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
.psc-x { -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }
.psc { -webkit-transform: translate(-50%); -ms-transform: translate(-50%); transform: translate(-50%); }

/* 마진 */
.mr0 { margin: 0 !important; }
.mr10 { margin: 10px !important; }
.mr15 { margin: 10px !important; }
.mr20 { margin: 10px !important; }
.mr25 { margin: 10px !important; }
.mr30 { margin: 10px !important; }
.mr35 { margin: 10px !important; }
.mr40 { margin: 10px !important; }
.mr45 { margin: 10px !important; }
.mr50 { margin: 10px !important; }
.mr55 { margin: 10px !important; }
.mr60 { margin: 10px !important; }
.mr65 { margin: 10px !important; }
.mr70 { margin: 10px !important; }
.mr75 { margin: 10px !important; }
.mr80 { margin: 10px !important; }
.mr85 { margin: 10px !important; }
.mr90 { margin: 10px !important; }
.mr95 { margin: 10px !important; }
.mr100 { margin: 10px !important; }
.mrl0 { margin-left: 0 !important; }
.mrl10 { margin-left: 10px !important; }
.mrl15 { margin-left: 10px !important; }
.mrl20 { margin-left: 10px !important; }
.mrl25 { margin-left: 10px !important; }
.mrl30 { margin-left: 10px !important; }
.mrl35 { margin-left: 10px !important; }
.mrl40 { margin-left: 10px !important; }
.mrl45 { margin-left: 10px !important; }
.mrl50 { margin-left: 10px !important; }
.mrl55 { margin-left: 10px !important; }
.mrl60 { margin-left: 10px !important; }
.mrl65 { margin-left: 10px !important; }
.mrl70 { margin-left: 10px !important; }
.mrl75 { margin-left: 10px !important; }
.mrl80 { margin-left: 10px !important; }
.mrl85 { margin-left: 10px !important; }
.mrl90 { margin-left: 10px !important; }
.mrl95 { margin-left: 10px !important; }
.mrl100 { margin-left: 10px !important; }
.mrr0 { margin-right: 0 !important; }
.mrr10 { margin-right: 10px !important; }
.mrr15 { margin-right: 10px !important; }
.mrr20 { margin-right: 10px !important; }
.mrr25 { margin-right: 10px !important; }
.mrr30 { margin-right: 10px !important; }
.mrr35 { margin-right: 10px !important; }
.mrr40 { margin-right: 10px !important; }
.mrr45 { margin-right: 10px !important; }
.mrr50 { margin-right: 10px !important; }
.mrr55 { margin-right: 10px !important; }
.mrr60 { margin-right: 10px !important; }
.mrr65 { margin-right: 10px !important; }
.mrr70 { margin-right: 10px !important; }
.mrr75 { margin-right: 10px !important; }
.mrr80 { margin-right: 10px !important; }
.mrr85 { margin-right: 10px !important; }
.mrr90 { margin-right: 10px !important; }
.mrr95 { margin-right: 10px !important; }
.mrr100 { margin-right: 10px !important; }
.mrt0 { margin-top: 0 !important; }
.mrt10 { margin-top: 10px !important; }
.mrt15 { margin-top: 10px !important; }
.mrt20 { margin-top: 10px !important; }
.mrt25 { margin-top: 10px !important; }
.mrt30 { margin-top: 10px !important; }
.mrt35 { margin-top: 10px !important; }
.mrt40 { margin-top: 10px !important; }
.mrt45 { margin-top: 10px !important; }
.mrt50 { margin-top: 10px !important; }
.mrt55 { margin-top: 10px !important; }
.mrt60 { margin-top: 10px !important; }
.mrt65 { margin-top: 10px !important; }
.mrt70 { margin-top: 10px !important; }
.mrt75 { margin-top: 10px !important; }
.mrt80 { margin-top: 10px !important; }
.mrt85 { margin-top: 10px !important; }
.mrt90 { margin-top: 10px !important; }
.mrt95 { margin-top: 10px !important; }
.mrt100 { margin-top: 10px !important; }
.mrb0 { margin-bottom: 0 !important; }
.mrb10 { margin-bottom: 10px !important; }
.mrb15 { margin-bottom: 10px !important; }
.mrb20 { margin-bottom: 10px !important; }
.mrb25 { margin-bottom: 10px !important; }
.mrb30 { margin-bottom: 10px !important; }
.mrb35 { margin-bottom: 10px !important; }
.mrb40 { margin-bottom: 10px !important; }
.mrb45 { margin-bottom: 10px !important; }
.mrb50 { margin-bottom: 10px !important; }
.mrb55 { margin-bottom: 10px !important; }
.mrb60 { margin-bottom: 10px !important; }
.mrb65 { margin-bottom: 10px !important; }
.mrb70 { margin-bottom: 10px !important; }
.mrb75 { margin-bottom: 10px !important; }
.mrb80 { margin-bottom: 10px !important; }
.mrb85 { margin-bottom: 10px !important; }
.mrb90 { margin-bottom: 10px !important; }
.mrb95 { margin-bottom: 10px !important; }
.mrb100 { margin-bottom: 10px !important; }

/* 패딩 */
.pd0 { padding: 0 !important; }
.pd10 { padding: 10px !important; }
.pd15 { padding: 10px !important; }
.pd20 { padding: 10px !important; }
.pd25 { padding: 10px !important; }
.pd30 { padding: 10px !important; }
.pd35 { padding: 10px !important; }
.pd40 { padding: 10px !important; }
.pd45 { padding: 10px !important; }
.pd50 { padding: 10px !important; }
.pd55 { padding: 10px !important; }
.pd60 { padding: 10px !important; }
.pd65 { padding: 10px !important; }
.pd70 { padding: 10px !important; }
.pd75 { padding: 10px !important; }
.pd80 { padding: 10px !important; }
.pd85 { padding: 10px !important; }
.pd90 { padding: 10px !important; }
.pd95 { padding: 10px !important; }
.pd100 { padding: 10px !important; }
.pdl0 { padding-left: 0 !important; }
.pdl10 { padding-left: 10px !important; }
.pdl15 { padding-left: 10px !important; }
.pdl20 { padding-left: 10px !important; }
.pdl25 { padding-left: 10px !important; }
.pdl30 { padding-left: 10px !important; }
.pdl35 { padding-left: 10px !important; }
.pdl40 { padding-left: 10px !important; }
.pdl45 { padding-left: 10px !important; }
.pdl50 { padding-left: 10px !important; }
.pdl55 { padding-left: 10px !important; }
.pdl60 { padding-left: 10px !important; }
.pdl65 { padding-left: 10px !important; }
.pdl70 { padding-left: 10px !important; }
.pdl75 { padding-left: 10px !important; }
.pdl80 { padding-left: 10px !important; }
.pdl85 { padding-left: 10px !important; }
.pdl90 { padding-left: 10px !important; }
.pdl95 { padding-left: 10px !important; }
.pdl100 { padding-left: 10px !important; }
.pdr0 { padding-right: 0 !important; }
.pdr10 { padding-right: 10px !important; }
.pdr15 { padding-right: 10px !important; }
.pdr20 { padding-right: 10px !important; }
.pdr25 { padding-right: 10px !important; }
.pdr30 { padding-right: 10px !important; }
.pdr35 { padding-right: 10px !important; }
.pdr40 { padding-right: 10px !important; }
.pdr45 { padding-right: 10px !important; }
.pdr50 { padding-right: 10px !important; }
.pdr55 { padding-right: 10px !important; }
.pdr60 { padding-right: 10px !important; }
.pdr65 { padding-right: 10px !important; }
.pdr70 { padding-right: 10px !important; }
.pdr75 { padding-right: 10px !important; }
.pdr80 { padding-right: 10px !important; }
.pdr85 { padding-right: 10px !important; }
.pdr90 { padding-right: 10px !important; }
.pdr95 { padding-right: 10px !important; }
.pdr100 { padding-right: 10px !important; }
.pdt0 { padding-top: 0 !important; }
.pdt10 { padding-top: 10px !important; }
.pdt15 { padding-top: 10px !important; }
.pdt20 { padding-top: 10px !important; }
.pdt25 { padding-top: 10px !important; }
.pdt30 { padding-top: 10px !important; }
.pdt35 { padding-top: 10px !important; }
.pdt40 { padding-top: 10px !important; }
.pdt45 { padding-top: 10px !important; }
.pdt50 { padding-top: 10px !important; }
.pdt55 { padding-top: 10px !important; }
.pdt60 { padding-top: 10px !important; }
.pdt65 { padding-top: 10px !important; }
.pdt70 { padding-top: 10px !important; }
.pdt75 { padding-top: 10px !important; }
.pdt80 { padding-top: 10px !important; }
.pdt85 { padding-top: 10px !important; }
.pdt90 { padding-top: 10px !important; }
.pdt95 { padding-top: 10px !important; }
.pdt100 { padding-top: 10px !important; }
.pdb0 { padding-bottom: 0 !important; }
.pdb10 { padding-bottom: 10px !important; }
.pdb15 { padding-bottom: 10px !important; }
.pdb20 { padding-bottom: 10px !important; }
.pdb25 { padding-bottom: 10px !important; }
.pdb30 { padding-bottom: 10px !important; }
.pdb35 { padding-bottom: 10px !important; }
.pdb40 { padding-bottom: 10px !important; }
.pdb45 { padding-bottom: 10px !important; }
.pdb50 { padding-bottom: 10px !important; }
.pdb55 { padding-bottom: 10px !important; }
.pdb60 { padding-bottom: 10px !important; }
.pdb65 { padding-bottom: 10px !important; }
.pdb70 { padding-bottom: 10px !important; }
.pdb75 { padding-bottom: 10px !important; }
.pdb80 { padding-bottom: 10px !important; }
.pdb85 { padding-bottom: 10px !important; }
.pdb90 { padding-bottom: 10px !important; }
.pdb95 { padding-bottom: 10px !important; }
.pdb100 { padding-bottom: 10px !important; }

/* 너비 */
.w-10 { width: 10%; }
.w-20 { width: 20%; }
.w-30 { width: 30%; }
.w-40 { width: 40%; }
.w-50 { width: 50%; }
.w-60 { width: 60%; }
.w-70 { width: 70%; }
.w-80 { width: 80%; }
.w-90 { width: 90%; }
.w-100 { width: 100%; }

/* text-align */
.txt-r { text-align: right !important; }
.txt-l { text-align: left !important; }
.txt-c { text-align: center !important; }

/* 배경색 */
.back-no { background: none !important; }

/* 테두리선 */
.bd-l { border-left: none !important; }
.bd-r { border-right: none !important; }

/* 글자색 */
.txt-accent { color: #009ac7; }
.txt-mute { color: #999; }
.txt-error { color: #d11; }

/* 서체 */
.ff-ascii { font-family: 'MontSerrat', sans-serif; }
.h2, .h3, .h4 { color: #070d3c; font-weight: 600; }
.h2 { font-size: 1.26rem; line-height: 1.7em; margin-bottom: 1.2em; }
.h3 { font-size: 1.1rem; line-height: 1.6em; margin-bottom: 1em; }
.h4 { font-size: 1rem; line-height: 1.55em; margin-bottom: .8em; }

/* flexbox */
.flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; }
.flex-row { -webkit-box-orient: horizontal !important; -webkit-box-direction: normal !important; -ms-flex-direction: row !important; flex-direction: row !important; }
.flex-column { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; }
.align-items-start { -webkit-box-align: start !important; -ms-flex-align: start !important; align-items: flex-start !important; }
.align-items-center { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; }
.align-items-end { -webkit-box-align: end !important; -ms-flex-align: end !important; align-items: flex-end !important; }
.justify-content-start { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; }
.justify-content-center { -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; }
.justify-content-end { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; }
.justify-content-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; }
.justify-content-between { -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; }

/* nonvisual */
.nonvisual { border: 0 !important; clip: rect(1px, 1px, 1px, 1px) !important; -webkit-clip-path: inset(50%) !important; clip-path: inset(50%) !important; height: 1px !important; margin: -1px !important; overflow: hidden !important; padding: 0 !important; position: absolute !important; width: 1px !important; white-space: nowrap !important; }

/* underline on hover (inside a link */
.hover_underline { border-bottom: .08em solid transparent; }
a:focus .hover_underline, a:hover .hover_underline { border-bottom-color: currentColor; }

/* images */
.img_fluid { height: auto; max-width: 100%; }
.img_fluid_y { max-height: 100%; width: auto; }
.img_stretch { width: 100%; height: auto; }
.img_stretch_y { height: 100%; width: auto; }
.img_cover { position: absolute; top: -10000%; right: -10000%; bottom: -10000%; left: -10000%; min-width: 1000%; min-height: 1000%; margin: auto; -webkit-transform: scale(.1); -ms-transform: scale(.1); transform: scale(.1); }

/* vertical divider */
.vertical_divider { height: .8em; margin: 0 .85em; border-left: .08em solid #e0e0e0; }

/* loading spinner */
.loading { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: none; background-color: hsla(0deg 0% 100% / 70%); }
.loading.active { display: block; }
.loading img { position: absolute; top: 50%; left: 50%; height: 60px !important; width: 60px !important; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

/* ---------- Modules ---------- */

/* 내용 너비제한 + float 클리어링 */
.content_holder { position: relative; width: calc(100% - 40px); max-width: 1200px; height: 100%; margin: 0 auto; -webkit-box-sizing: border-box; box-sizing: border-box; }
.content_holder::after { content: ''; display: table; clear: both; }

/* content_nav */
.content_nav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 3.5em auto 0; padding: 0; font-size: 1.3rem; list-style: none; }
.content_nav_item { position: relative; padding-left: .8em; margin-left: .8em; }
.content_nav_item::before { content: ''; position: absolute; top: calc(50% - .4em); left: 0; height: .8em; background: #999; border-left: 1px solid #999; }
.content_nav_item:first-child { padding-left: 0; margin-left: 0; }
.content_nav_item:first-child::before { content: none; display: none; }
.content_nav_link, .content_nav_selflink { padding-bottom: .125em; font-size: inherit; font-weight: 600; line-height: 1.2em; cursor: default; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-tab-highlight-color: transparent; }
.content_nav_link { position: relative; color: #999; cursor: pointer; -webkit-transition: color 200ms cubic-bezier(0, 0, .2, 1) 0ms; -o-transition: color 200ms cubic-bezier(0, 0, .2, 1) 0ms; transition: color 200ms cubic-bezier(0, 0, .2, 1) 0ms; }
.content_nav_link::after { content: ''; position: absolute; right: 0; bottom: 0; left: 0; border-bottom: .1em solid #009ac7; -webkit-transform: scaleX(0); -ms-transform: scaleX(0); transform: scaleX(0); -webkit-transition: -webkit-transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; transition: -webkit-transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; -o-transition: transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; transition: transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; transition: transform 200ms cubic-bezier(0, 0, .2, 1) 0ms, -webkit-transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; pointer-events: none; }
.content_nav_link:focus, .content_nav_link:hover { color: #009ac7; }
.content_nav_link:focus::after, .content_nav_link:hover::after { -webkit-transform: scaleX(1); -ms-transform: scaleX(1); transform: scaleX(1); }

@media screen and (max-width: 768px) {
 .content_nav { font-size: 1.2rem; }
}

@media screen and (max-width: 600px) {
 .content_nav { font-size: 1.1rem; }
}
.top_btn { width: 95%; max-width: 1200px; margin: 0 auto 1rem; text-align: right; }
.top_btn .btn { display: inline-block; width: 40px; height: 40px; /* background-image: url('/img/sub/top_btn.png'); */ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M25.6 17.3 15 6.7 4.4 17.3l1.4 1.5 8.2-8.2V30h2V10.6l8.2 8.2zM0 0h30v2H0z' /%3E%3C/svg%3E%0A"); background-repeat: no-repeat; background-position: center; background-size: contain; opacity: .5; cursor: pointer; }

/* top visual */
.top_banner { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 11.25rem; overflow: hidden; background-color: #777a94; color: #fff; }
.top_banner_title { position: relative; font-size: 2.25rem; text-transform: uppercase; }

/* bottom navigation */
.bottom_nav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; width: 100%; height: 10.25rem; }
.bottom_nav_box { position: relative; width: 50%; overflow: hidden; }
.bottom_nav_box .content { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100%; height: 100%; color: #fff; font-family: 'MontSerrat', 'Noto Sans KR', sans-serif; font-size: 1.9rem; text-transform: uppercase; }
.bottom_nav_box_left .content::before, .bottom_nav_box_right .content::after { content: ''; width: 2.5rem; height: 2.5rem; background-repeat: no-repeat; background-position: center; background-size: contain; }
.bottom_nav_box_left .content::before { margin-right: .85rem; /* background-image: url('/img/sub/left_arrow.png'); */ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 48 48'%3E%3Cpath d='m26.9 33.9 2.1-2.1-7.8-7.8 7.8-7.8-2.1-2.1-7.8 7.8L17 24l9.9 9.9z' /%3E%3Cpath d='M24 2c12.1 0 22 9.9 22 22s-9.9 22-22 22S2 36.1 2 24 11.9 2 24 2m0-2C10.7 0 0 10.7 0 24s10.7 24 24 24 24-10.7 24-24S37.3 0 24 0z' /%3E%3C/svg%3E%0A"); }
.bottom_nav_box_right .content::after { margin-left: .85rem; /* background-image: url('/img/sub/right_arrow.png'); */ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 48 48'%3E%3Cpath d='m31 24-2.1-2.1-7.8-7.8-2.1 2.1 7.8 7.8-7.8 7.8 2.1 2.1L31 24z' /%3E%3Cpath d='M24 2c12.1 0 22 9.9 22 22s-9.9 22-22 22S2 36.1 2 24 11.9 2 24 2m0-2C10.7 0 0 10.7 0 24s10.7 24 24 24 24-10.7 24-24S37.3 0 24 0z' /%3E%3C/svg%3E%0A"); }
.bottom_nav_box .mask { position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: .5; -webkit-transition: opacity .3s; -o-transition: opacity .3s; transition: opacity .3s; }
.bottom_nav_box_left .mask { background-color: #070d3c; }
.bottom_nav_box_right .mask { background-color: #009ac7; }
.bottom_nav_box:hover .mask { opacity: 1; }

@media screen and (max-width: 768px) {
 .bottom_nav_box .content { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100%; height: 100%; color: #fff; font-family: 'MontSerrat', 'Noto Sans KR', sans-serif; font-size: 1.5rem; text-transform: uppercase; }
}

/* pretty_select */
.pretty_select { height: 3em; width: 100%; padding: 0 1em; -webkit-box-sizing: border-box; box-sizing: border-box; background: url(/img/sub/select_arrow_bk.png) 96% center no-repeat; border: 1px solid #c4c4c4; -webkit-appearance: none; -moz-appearance: none; appearance: none; font-size: 1rem; }

@media screen and (max-width: 768px) {
 .content_nav { font-size: 1.2rem; }
}

@media screen and (max-width: 600px) {
 .content_nav { font-size: 1.1rem; }
}

/* link */
.link { border-bottom: 1px solid currentColor; color: #009ac7; padding-bottom: .12em; }

/* lists */
.list_bullet > li { list-style: none; padding-left: 1.25em; position: relative; }
.list_bullet > li::before { content: '・'; position: absolute; left: 0; }

/* quote */
.quote { border-left: 3px solid #ddd; font-size: 1rem; line-height: 1.65em; margin-bottom: 50px; padding-left: 30px; }

/* standard table */
.table { color: #405465; width: auto; }
.table.full { min-width: 1200px; width: 100%; }
.table caption { color: #070d3c; font-weight: 600; margin-bottom: 20px; text-align: left; }
.table tr { margin-bottom: 5px; }
.table td, .table th { text-align: left; padding: 15px 20px; }
.table th { color: #708599; font-weight: 700; }
.table thead th { background-color: #f9fbfc; vertical-align: middle; }
.table tbody td, .table tbody th { border-bottom: 1px solid #dbe4eb; vertical-align: top; }
.table tfoot td { font-size: 85%; padding-top: 10px; padding-bottom: 10px; }

/* pretty table */
.pretty_table { border: solid #666; border-width: 2px 0; border-collapse: collapse; font-size: 1.2rem; line-height: 1.4em; caption-side: top; }
.pretty_table caption { position: static; left: auto; margin-bottom: 1em; color: #666; text-align: right; font-size: 1.1rem; line-height: 1.2em; }
.pretty_table tr { vertical-align: middle; border-bottom: 1px solid #e3e4e9; }
.pretty_table td, .pretty_table th { padding: 1em; font-weight: normal; text-align: left; }
.pretty_table .ellipsis { max-width: 100%; }
.pretty_table a { padding: .25em 0; font-size: inherit; font-weight: inherit; }
.pretty_table .date { color: #999; }

@media screen and (max-width: 768px) {
 .pretty_table td, .pretty_table th { padding: .8em; }
}

@media screen and (max-width: 600px) {
 .pretty_table { font-size: 1rem; }
}

/* form components */
.form { position: relative; }
.form_field { width: 100%; max-width: 320px; padding: 3px 10px; -webkit-box-sizing: border-box; box-sizing: border-box; background: white; border: 1px solid #999; font-family: inherit; font-size: 1rem; line-height: 1.5em; }
textarea.form_field { min-height: 3em; resize: vertical; }
.form_field_full { max-width: none; }

@media screen and (max-width: 600px) {
 .form_field { max-width: none; }
}
.radio, .checkbox { position: relative; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-right: 20px; }
.radio input[type='radio'], .checkbox input[type='checkbox'] { position: absolute; visibility: hidden; }
.radio_icon, .checkbox_icon { position: relative; top: 1px; margin-right: .5rem; background: white; border: 1px solid #999; -webkit-box-sizing: border-box; box-sizing: border-box; }
.radio_icon { width: 18px; height: 18px; border-radius: 50%; }
.radio input:checked ~ .radio_icon { border: 4px solid #009ac7; }

@media screen and (max-width: 600px) {
 .radio_icon { width: 16px; height: 16px; }
}
.checkbox_icon { width: 20px; height: 20px; }
.checkbox input:checked ~ .checkbox_icon { background-color: #009ac7; border-color: #009ac7; }
.checkbox input:checked ~ .checkbox_icon::before { content: ''; position: absolute; left: 4px; top: 8px; background: white; width: 2px; height: 2px; -webkit-box-shadow: 2px 0 0 white, 4px 0 0 white, 4px -2px 0 white, 4px -4px 0 white, 4px -6px 0 white, 4px -8px 0 white; box-shadow: 2px 0 0 white, 4px 0 0 white, 4px -2px 0 white, 4px -4px 0 white, 4px -6px 0 white, 4px -8px 0 white; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
.checkbox input:disabled ~ .checkbox_icon,
.checkbox input:disabled ~ .checkbox_label { color: #999; cursor: not-allowed; }
.checkbox input:disabled ~ .checkbox_icon { background-color: #eee !important; border-color: #eee !important; }

@media screen and (max-width: 600px) {
 .checkbox_icon { width: 18px; height: 18px; }
 .checkbox input:checked ~ .checkbox_icon::before { left: 3px; top: 7px; }
}
.file_upload { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; margin-right: 15px; }
.file_upload input[type='file'] { position: absolute; visibility: hidden; }
.file_upload_label { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; padding: 8px 20px; border: 1px solid #999; cursor: pointer; }
.file_upload_list { margin-top: 15px; }
.file_upload_list li { display: inline-block; margin-right: 15px; }
.form_note { color: #666; font-size: .92rem; }
.form_table { border: solid #666; border-width: 2px 0; border-collapse: collapse; font-size: 1rem; line-height: 1.4em; caption-side: top; }
.form_table caption { position: static; left: auto; margin-bottom: 1em; color: #666; text-align: right; font-size: 1rem; line-height: 1.2em; }
.form_table tr { vertical-align: top; border-bottom: 1px solid #e3e4e9; }
.form_table td, .form_table th { padding: 1em; font-weight: normal; text-align: left; }
.form_table th { width: 150px; }

@media screen and (max-width: 768px) {
 .form_table td, .form_table th { padding: .8em; }
}

@media screen and (max-width: 600px) {
 .form_table thead, .form_table tbody, .form_table tfoot, .form_table tr,
 .form_table td, .form_table th { display: block; }
 .form_table { font-size: 1rem; }
 .form_table tr { padding: 10px; }
 .form_table td, .form_table th { width: auto; padding: 0; }
 .form_table th { padding-bottom: 10px; }
}
.form_footer { margin-top: 30px; }
.form_footer .btn { min-width: 8em; padding: 1em; background: #009ac7; color: #fff; }

/* pagination */
.pagination { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-top: 2em; }
.pagination_pages { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: 0 2em; }
.pagination_page, .pagination_move { font-size: 1.2rem; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-tab-highlight-color: transparent; }
.pagination_page { position: relative; min-width: 1.25em; margin: 0 .25em; padding: .1em .25em; -webkit-box-sizing: border-box; box-sizing: border-box; color: #999; font-family: 'PT Sans', sans-serif; font-weight: 300; text-align: center; }
.pagination_page::after { content: ''; position: absolute; right: 15%; bottom: 0; left: 15%; border-bottom: .1em solid currentColor; -webkit-transform: scaleX(0); -ms-transform: scaleX(0); transform: scaleX(0); -webkit-transition: -webkit-transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; transition: -webkit-transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; -o-transition: transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; transition: transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; transition: transform 200ms cubic-bezier(0, 0, .2, 1) 0ms, -webkit-transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; pointer-events: none; }
.pagination_page.active::after, .pagination_page:hover::after { -webkit-transform: scaleX(1); -ms-transform: scaleX(1); transform: scaleX(1); }
.pagination_page.active { color: #000; cursor: default; pointer-events: none; }
.pagination_move { position: relative; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 1.5rem; font-size: inherit; }
.pagination_move:disabled, .pagination_move.disabled { color: #ccc; cursor: not-allowed; pointer-events: none; }
.pagination_move_icon { width: .75rem; height: .75rem; background-position: center; background-repeat: no-repeat; background-size: contain; }
.pagination_move_icon_prev { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='20'%3E%3Cpath d='M.377 9.212l8.67-8.67c.436-.436 1.141-.436 1.576 0s.436 1.141 0 1.576L2.741 10l7.882 7.881c.436.436.436 1.141 0 1.576s-1.141.436-1.576 0l-8.67-8.669c-.436-.435-.436-1.141 0-1.576z' /%3E%3C/svg%3E%0A"); }
.pagination_move_icon_next { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='20'%3E%3Cpath d='M10.623 9.212L1.953.542a1.1142 1.1142 0 00-1.577 0c-.435.436-.435 1.141 0 1.576L8.259 10 .377 17.881c-.435.436-.435 1.141 0 1.576.436.436 1.141.436 1.577 0l8.67-8.669c.435-.435.435-1.141-.001-1.576z' /%3E%3C/svg%3E%0A"); }

/* post */
.post { border: solid #000; border-width: 2px 0; }
.post_header { padding: 30px 0; border-bottom: 1px solid #999; font-size: 1rem; line-height: 1.5em; }
.post_title { color: #000; font-size: 1.9rem; font-weight: 700; line-height: 1.3em; }
.post_meta { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-top: .66em; color: #999; }
.post_body { min-height: 30em; padding: 2.5em 0; font-size: 1.2rem; line-height: 1.7em; }
.post_attached { margin-top: .2em; }
.post_attached a { display: inline-block; color: hsl(204deg 85% 48%); margin-right: .66em; border-bottom: 1px solid hsla(204deg 85% 48% / 30%); font-size: inherit; }
.post_attached a:focus, .post_attached a:hover { border-bottom-color: hsl(204deg 85% 48%); }
.post_nav { margin-top: 40px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
.post_nav_button { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; min-width: 2.5em; margin: 0 .85rem; padding: .8em 1.5em; background-color: #edeef1; border-radius: .2em; color: #7f8489; font-size: 1.1rem; font-weight: 500; -webkit-transition: 200ms cubic-bezier(0, 0, .2, 1) 0ms; -o-transition: 200ms cubic-bezier(0, 0, .2, 1) 0ms; transition: 200ms cubic-bezier(0, 0, .2, 1) 0ms; -webkit-transition-property: background-color, border-color, color; -o-transition-property: background-color, border-color, color; transition-property: background-color, border-color, color; }
.post_nav_button:focus, .post_nav_button:hover { color: #fff; background-color: #009ac7; }

/* tabs navigation */
.tabs_nav { -webkit-box-shadow: inset 0 1px 0 0 #e3e4e9; box-shadow: inset 0 1px 0 0 #e3e4e9; }
.tabs_nav_item { display: block; }
.tabs_nav_item_label { position: relative; display: block; -webkit-box-shadow: inset 0 -1px 0 0 #e3e4e9; box-shadow: inset 0 -1px 0 0 #e3e4e9; color: #000; font-size: 20px; line-height: 55px; cursor: pointer; -webkit-transition: color 200ms cubic-bezier(0, 0, .2, 1) 0ms; -o-transition: color 200ms cubic-bezier(0, 0, .2, 1) 0ms; transition: color 200ms cubic-bezier(0, 0, .2, 1) 0ms; }
.tabs_nav_item_label::after { content: ''; position: absolute; right: 0; bottom: 0; left: 0; border-bottom: 1px solid #009ac7; -webkit-transform: scaleX(0); -ms-transform: scaleX(0); transform: scaleX(0); -webkit-transition: -webkit-transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; transition: -webkit-transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; -o-transition: transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; transition: transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; transition: transform 200ms cubic-bezier(0, 0, .2, 1) 0ms, -webkit-transform 200ms cubic-bezier(0, 0, .2, 1) 0ms; pointer-events: none; }
input:checked ~ .tabs_nav_item_label { cursor: default; }
.tabs_nav_item_label:hover, input:checked ~ .tabs_nav_item_label { color: #009ac7; }
.tabs_nav_item_label:hover::after, input:checked ~ .tabs_nav_item_label::after { -webkit-transform: scaleX(1); -ms-transform: scaleX(1); transform: scaleX(1); }
.tabs_nav_mo { display: none; width: 100%; }
.tabs_nav_mo select { width: 100%; height: 60px; padding-left: 20px; -webkit-box-sizing: border-box; box-sizing: border-box; color: #fff; background: #009ac7 url('/img/sub/select_arrow.png') 95% center no-repeat; border: none; border-radius: 0; font-size: 22px; font-weight: 500; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.tabs_nav_mo option { background: #fff; color: #333; font-size: 18px; }

@media screen and (max-width: 1024px) {
 .tabs_nav_item_label { font-size: 18px; line-height: 45px; }
}

@media screen and (max-width: 768px) {
 .tabs_nav { display: none; }
 .tabs_nav_mo { display: block; }
}

@media screen and (max-width: 600px) {
 .tabs_nav_mo select { height: 50px; padding-left: 15px; background-size: 20px; font-size: 18px; }
 .tabs_nav_mo option { font-size: 16px; }
}

@media screen and (max-width: 480px) {
 .tabs_nav_mo select { height: 40px; font-size: 15px; background-size: 15px; }
 .tabs_nav_mo option { font-size: 13px; }
}

/* tabs with indicator */
.tabs { -webkit-box-shadow: inset 0 -2px 0 0 rgba(0, 0, 0, .08); box-shadow: inset 0 -2px 0 0 rgba(0, 0, 0, .08); display: -webkit-box; display: -ms-flexbox; display: flex; margin-bottom: 40px; position: relative; }
.tabs > .tab { -webkit-box-align: center; -ms-flex-align: center; align-items: center; background-color: transparent; cursor: pointer; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-negative: 0; flex-shrink: 0; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-right: 60px; overflow: hidden; padding: 20px 0; text-align: center; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; vertical-align: middle; -webkit-tap-highlight-color: transparent; }
.tabs > .tab.active { font-weight: 700; }
.tabs_indicator { background-color: currentColor; bottom: 0; left: 0; height: 2px; position: absolute; -webkit-transition: all 300ms cubic-bezier(.4, 0, .2, 1) 0ms; -o-transition: all 300ms cubic-bezier(.4, 0, .2, 1) 0ms; transition: all 300ms cubic-bezier(.4, 0, .2, 1) 0ms; }

@media screen and (max-width: 600px) {
 .tabs { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 20px; }
 .tabs > .tab { margin-right: 0; }
}

/* file group */
.file_group { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.file_group > *:not(:last-child) { margin-right: .66rem; }

/* maps */
.maps { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; width: 100%; }
.maps_nav { -ms-flex-negative: 0; flex-shrink: 0; width: 210px; margin-right: 30px; }
.maps_body { -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; }
.maps_visual { height: 410px; border: 1px solid #c4c4c4; }
.maps_visual + .maps_info { margin-top: 60px; }
.maps_panel { display: none; }
.maps_panel_active { display: block; }
.maps_panel h3 { margin: 0 0 10px; padding-bottom: 10px; border-bottom: 1px solid #999; font-size: 22px; font-weight: 500; }
.maps_panel table { font-size: 18px; }
.maps_panel table td, .maps_panel table th { padding: .6em 0; vertical-align: top; }
.maps_panel table th { width: 5.5em; font-weight: 500; text-align: left; }
.maps_panel table td { font-weight: 300; }
.maps_panel table a { font-size: inherit; }

@media screen and (max-width: 1024px) {
 .maps_nav { width: 180px; margin-right: 20px; }
 .maps_visual + .maps_info { margin-top: 40px; }
 .maps_panel h3 { font-size: 20px; }
 .maps_panel table { font-size: 17px; }
 .maps_panel table td, .maps_panel table th { padding: .45em 0; }
 .maps_panel table th { width: 5em; }
}

@media screen and (max-width: 900px) {
 .maps_visual { height: 350px; }
}

@media screen and (max-width: 768px) {
 .maps { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
 .maps_nav { width: auto; margin-right: 0; }
}

@media screen and (max-width: 600px) {
 .maps_visual { height: 300px; }
 .maps_visual + .maps_info { margin-top: 30px; }
 .maps_panel h3 { font-size: 18px; }
 .maps_panel table { font-size: 16px; }
 .maps_panel table td, .maps_panel table th { padding: .35em 0; font-size: 16px; }
 .maps_panel table td { font-size: .92em; }
}

@media screen and (max-width: 480px) {
 .maps_visual { height: 220px; }
 .maps_visual + .maps_info { margin-top: 20px; }
 .maps_panel h3 { font-size: 16px; }
 .maps_panel table { font-size: 14px; }
 .maps_panel table td, .maps_panel table th { padding: .3em 0; }
}

/* timeline */
.timeline { position: relative; }
.timeline::before { content: ''; position: absolute; bottom: 0; left: calc(50% - 50vw); width: 100vw; height: 2.5rem; background: -webkit-gradient( linear, left top, right top, from(#23abc8), to(#1a6a9d) ); background: -o-linear-gradient(left, #23abc8, #1a6a9d); background: linear-gradient(to right, #23abc8, #1a6a9d); }
.timeline_item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; min-width: 15em; -webkit-box-sizing: content-box; box-sizing: content-box; color: #333; font-size: .85rem; line-height: 1.5em; }
.timeline_item_block { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
.timeline_item_content { position: relative; height: 8em; padding-left: 24px; }
.timeline_item:nth-child(odd) .timeline_item_content { padding-bottom: 12em; }
.timeline_item_branch { position: absolute; top: 0; bottom: 0; left: 7px; border-left: 1px solid #c4c4c4; }
.timeline_item_branch::after { content: ''; position: absolute; top: 0; left: 0; height: 14px; width: 14px; z-index: 1; background-color: #c4c4c4; border-radius: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }
.timeline_item_date { height: 2.5rem; color: #fff; font-family: 'MontSerrat', sans-serif; font-size: 1.1rem; font-weight: 700; line-height: 2.5rem; }
.timeline_control { position: absolute; bottom: 0; right: 0; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.timeline_arrow { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-left: 1rem; height: 2.5rem; color: #fff; }
.timeline_arrow:disabled { opacity: .2; }
.timeline_arrow svg { width: 85%; }
.timeline_arrow_previous { left: 0; }
.timeline_arrow_next { right: 0; }

@media screen and (max-width: 640px) {
 .timeline { padding: 0 3rem; }
}
.terms { margin-bottom: 50px; }
.terms_content { max-height: 300px; overflow-y: auto; color: #333; border: 1px solid #ccc; padding: 20px; font-size: .92rem; line-height: 1.6em; }
.terms_content p, .terms_content ul { margin-bottom: 1em; }
.terms_content ul { padding-left: 1em; }
.terms_content ul li { list-style: circle; }
.terms_footer { margin-top: 20px; }

/* mobile scroller */

@media screen and (max-width: 600px) {
 .m_scroll { margin-bottom: 30px; min-height: 1px; overflow-x: auto; -ms-overflow-style: -ms-autohiding-scrollbar; }
}

/* vendors: keen-slider */
.keen-slider { cursor: -webkit-grab; cursor: grab; }
.keen-slider:active { cursor: -webkit-grabbing; cursor: grabbing; }
