@charset "UTF-8";
/*-------------------------------------------------
title       : 레이아웃
Author      : ㅈㅁㅈ
Create date : 2019-08-05
-------------------------------------------------*/
.bx-wrapper .bx-viewport { -webkit-box-shadow: 0 0 0 transparent !important; box-shadow: 0 0 0 transparent !important; }

.layerpopup { visibility: hidden; overflow: hidden; height: 0; opacity: 0; position: fixed; left: 0; top: 0; z-index: 30; width: 100%; height: 100% !important; background-color: rgba(0, 0, 0, 0.8); content: ''; -webkit-transition: all 0.5s; transition: all 0.5s; }

.layerpopup.active { visibility: visible; overflow: visible; height: auto; opacity: 1; -webkit-transition: all 0.2s; transition: all 0.2s; }

#popup .group { width: 64rem; max-width: calc(100% - 2rem); margin-left: auto !important; margin-right: auto !important; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); overflow: hidden; overflow-y: auto; position: relative; max-width: 90%; color: #fff; }

#popup .title { font-size: 2rem; font-weight: 300; color: #fff; text-align: center; text-transform: uppercase; }

#popup .title + .list > ul { width: calc(100% - 6rem); margin: 0 auto; text-align: center; white-space: nowrap; }

#popup .title + .list > ul > li { display: inline-block; width: 33.333%; }

#popup .list { display: inline-block; width: 100%; margin: 1rem 0; }

#popup .bx-wrapper { max-width: calc(100% - 6rem) !important; }

#popup .bx-wrapper .bx-viewport { width: 55.5rem; max-width: calc(100% - 2rem); margin-left: auto !important; margin-right: auto !important; }

#popup .bx-wrapper .bx-controls-direction a { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); height: 2.65rem; border: 3px solid #fff; line-height: 2.35rem; font-size: 1.25rem; overflow: hidden; width: 2.6rem; margin: 0 !important; background: none; -webkit-transition: all 0.2s; transition: all 0.2s; }

#popup .bx-wrapper .bx-controls-direction a::before { display: block; width: 100%; height: 100%; font-family: "xeicon"; content: ''; text-indent: 0; text-align: center; line-height: inherit; }

#popup .bx-wrapper .bx-controls-direction a.bx-prev { left: 0; -webkit-transform: translateX(-100%); transform: translateX(-100%); }

#popup .bx-wrapper .bx-controls-direction a.bx-next { right: 0; -webkit-transform: translateX(100%); transform: translateX(100%); }

#popup .bx-wrapper .bx-controls-direction a.bx-next::before { content: ''; }

#popup .bx-wrapper .bx-controls-direction a:hover, #popup .bx-wrapper .bx-controls-direction a:focus { background-color: #fff; color: #000; }

#popup .item { font-size: 0.9rem; text-align: center; }

#popup .item .label { display: inline-block; height: 2.25rem; margin: 0 0.8rem; padding: 0 1.5rem; border-radius: 2.25rem; background-color: #000; line-height: 2.25rem; }

#popup .item .label span { color: #f00; }

#popup .item .label.close::after { display: inline-block; font-family: "xeicon"; margin-left: 0.5rem; content: ''; vertical-align: middle; -webkit-transition: all 0.2s; transition: all 0.2s; }

#popup .item .label.close:hover::after, #popup .item .label.close:focus::after { -webkit-transform: rotate(180deg); transform: rotate(180deg); }

#popup.type1 .bx-wrapper .bx-controls-direction a { display: none; }

#header { width: 64rem; max-width: calc(100% - 2rem); margin-left: auto !important; margin-right: auto !important; position: relative; padding-top: 2rem; -webkit-transition: all 0.2s; transition: all 0.2s; }

#header::before { position: absolute; left: 50%; top: 0; z-index: -1; width: 1000%; height: 100%; margin-left: -500%; content: ''; height: 0; background-color: #162b48; -webkit-transition: all 0.2s; transition: all 0.2s; }

#header .headerWrap { height: 4.3rem; padding: 0 0 0 16rem; line-height: 4.3rem; }

#header .logo { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); font-size: 1.1rem; overflow: hidden; position: absolute; left: 0; top: 50%; height: 1.9rem; margin-top: 1rem; color: #000; }

#header .logo a { display: block; height: 100%; }

#header .logo a::before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: url("/ipsi/img/layout/logo_active.png") no-repeat; background-size: auto 100%; content: ''; -webkit-transform: translateY(-100%); transform: translateY(-100%); -webkit-transition: all 0.2s; transition: all 0.2s; }

#header .logo img { display: inline-block; height: 100%; vertical-align: top; -webkit-transform: translateY(0); transform: translateY(0); -webkit-transition: all 0.2s; transition: all 0.2s; }

#header .logo strong { display: inline-block; position: relative; top: 0.25rem; margin-left: 0.5rem; font-weight: bold; vertical-align: top; line-height: 1.9rem; }

#header .AllMn a { display: none; overflow: hidden; position: absolute; right: 0; bottom: 0; z-index: 20; width: 4.3rem; height: 4.3rem; background-color: #9c1c2b; text-align: center; line-height: 4.3rem; }

#header .AllMn a::before { font-size: 1.5rem; display: block; width: 100%; font-family: "xeicon"; color: #fff; content: ''; line-height: inherit; }

#header .etc { height: 2rem; border: 0px solid transparent; line-height: 2rem; position: absolute; left: 0; top: 0; width: 100%; border-left: 1px solid #eee; }

#header .etc::before { position: absolute; left: 50%; top: 0; z-index: -1; width: 1000%; height: 100%; margin-left: -500%; content: ''; border-bottom: 1px solid #eee; }

#header .etc a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.75rem; float: left; min-width: 6.5rem; margin-left: -1px; padding: 0 1rem; font-weight: 400; text-align: center; vertical-align: top; }

#header .etc a + a { border-left: 1px solid #eee; }

#header .etc a[href='#popup'] { overflow: visible; border-right: 1px solid #eee; font-family: "Noto Sans KR"; font-weight: 500; color: #9c1c2b; }

#header .etc .mn { overflow: hidden; position: absolute; right: 0; top: 0; z-index: 5; height: 100%; border-left: 1px solid #eee; border-right: 1px solid #eee; text-align: right; }

#header .etc .mn dd { float: left; height: 100%; }

#header .etc .mn dd.type1 a::before { content: ''; }

#header .etc .mn dd.type2 a::before { content: ''; }

#header .etc .mn dd + dd a { border-left: 1px solid #eee; }

#header .etc .mn a { min-width: 0; }

#header .etc .mn a::before { font-size: 0.85rem; margin-right: 0.25rem; font-family: "xeicon"; color: #c6c6c6; content: ''; vertical-align: middle; }

#header .gnb_bg { visibility: hidden; overflow: hidden; height: 0; opacity: 0; position: absolute; left: 50%; top: 0; z-index: -1; width: 1000%; height: 100%; margin-left: -500%; content: ''; top: 100%; z-index: 1; height: 0; background-color: #162b48; border-top: 1px solid #455469; opacity: 1; }

#gnb { height: 100%; text-align: right; white-space: nowrap; }

#gnb .Allmn-close { display: none; }

#gnb .topmenu { height: 100%; }

#gnb .topmenu > li { display: inline-block; position: relative; height: 100%; padding: 0 2.5rem; vertical-align: top; }

#gnb .topmenu > li > a { font-size: 1rem; float: left; position: relative; height: 100%; padding-top: 0.15rem; font-weight: 400; color: #333; -webkit-transition: all 0.2s; transition: all 0.2s; }

#gnb .topmenu > li > a::before { position: absolute; left: 50%; bottom: 0; width: 0; height: 0.2rem; background-color: #ac9c87; content: ''; -webkit-transition: all 0.2s; transition: all 0.2s; }

#gnb .topmenu > li > a:hover::before, #gnb .topmenu > li > a:focus::before { left: 0; width: 100%; }

#gnb .topmenu > li.active a::before { left: 0; width: 100%; }

#gnb .submenu { visibility: hidden; overflow: hidden; height: 0; opacity: 0; display: block !important; position: absolute; left: 2rem; top: 100%; z-index: 2; width: calc(100% - 1rem); padding-top: 1.5rem; color: #cdcfd3; text-align: left; white-space: normal; }

#gnb .submenu div { display: none; }

#gnb .submenu a { display: block; margin-bottom: 1rem; line-height: 1rem; -webkit-transition: all 0.2s; transition: all 0.2s; white-space: nowrap; }

#gnb .submenu a:hover, #gnb .submenu a:focus { color: #c3a988; }

#gnb .submenu a.linkWindow::after { font-size: 0.6rem; position: relative; top: -2px; margin-left: 0.25rem; font-family: "xeicon"; content: ''; }

#header.active::before { height: 100%; }

#header.active .AllMn a::before { content: ''; }

#header.active #gnb .topmenu > li > a { color: #fff; }

#header.active #gnb .submenu { visibility: visible; overflow: visible; height: auto; opacity: 1; -webkit-transition: all 0.2s; transition: all 0.2s; -webkit-transition-delay: 0.1s; transition-delay: 0.1s; }

#header.active .gnb_bg { visibility: visible; overflow: visible; height: auto; opacity: 1; -webkit-transition: all 0.2s; transition: all 0.2s; height: 18rem; -webkit-transition-delay: 0.15s; transition-delay: 0.15s; }

#footer { width: 64rem; max-width: calc(100% - 2rem); margin-left: auto !important; margin-right: auto !important; font-size: 0.75rem; position: relative; padding: 2rem 0 5rem; font-weight: 400; color: #666; }

#footer .link a { display: inline-block; padding: 0.7rem 0; vertical-align: middle; }

#footer .link a + a::before { display: inline-block; width: 1px; height: 0.5rem; margin: 0 0.5rem; background-color: #d1d1d1; content: ''; }

#footer .link a strong { color: #162b48; }

#footer .link02 { position: absolute; right: 0; top: 2rem; }

#footer .link02 .tel { font-size: 0.85rem; margin-bottom: 1.25rem; font-weight: 500; color: #333; }

#footer .link02 .tel .label { float: left; font-size: 0.8rem; line-height: 1.75; display: inline-block; height: 1.4rem; margin-right: 0.25rem; padding: 0 0.5rem; border-radius: 1.4rem; background-color: #333; color: #fff; vertical-align: middle; }

#footer .link02 .tel .num { float: left; }

#footer .link02 .tel:after { content: ''; display: block; clear: both; }

#footer .address { clear: both; padding-top: 0.75rem; }

#footer .address p { margin-bottom: 0.3rem; }

#footer .address .label { display: inline-block; width: 7rem; margin-right: 0.75rem; padding: 0.25rem 0; border-radius: 0.15rem; background-color: #5a5f6a; color: #fff; text-align: center; vertical-align: middle; }

#footer .address .copyright { margin: 0.8rem 0 0; }

#footer .family_site { position: relative; width: 18.75rem; padding-right: 4.25rem; }

#footer .family_site .tt a { height: 2.5rem; border: 1px solid #d7d7d7; line-height: 2.4rem; display: block; position: relative; z-index: 1; width: 100%; padding-left: 1rem; background-color: #fff; }

#footer .family_site .tt a:hover::after, #footer .family_site .tt a:active::after { -webkit-transform: rotate(180deg); transform: rotate(180deg); -webkit-transition: all 0.2s; transition: all 0.2s; }

#footer .family_site .tt a::after { position: absolute; right: 1rem; top: 0; font-family: "xeicon"; color: #4c4c4c; content: ''; }

#footer .family_site .site { position: absolute; left: 0; bottom: 2.6rem; width: calc(100% - 4.25rem); background-color: #fff; }

#footer .family_site .site a { visibility: hidden; overflow: hidden; height: 0; opacity: 0; display: block; background-color: #fff; -webkit-transition: all 0s !important; transition: all 0s !important; }

#footer .family_site .site a:hover, #footer .family_site .site a:focus { text-decoration: underline; }

#footer .family_site .site .active a { visibility: visible; overflow: visible; height: auto; opacity: 1; -webkit-transition: all 0.2s; transition: all 0.2s; height: 2.5rem; border: 1px solid #d7d7d7; line-height: 2.4rem; position: absolute; left: 0; bottom: -2.6rem; width: 100%; padding-left: 1rem; }

#footer .family_site .btn { height: 2.5rem; border: 1px solid #5a5f6a; line-height: 2.4rem; position: absolute; right: 0; top: 0; width: 4rem; background-color: #5a5f6a; color: #fff; text-align: center; -webkit-transition: all 0.2s; transition: all 0.2s; }

#footer .family_site .btn:hover, #footer .family_site .btn:focus { background-color: #fff; color: #5a5f6a; }

#footer .family_site.active .tt a::after { -webkit-transform: rotate(180deg); transform: rotate(180deg); }

#footer .family_site.active .site { padding: 1rem; border: 1px solid #d7d7d7; }

#footer .family_site.active .site a { visibility: visible; overflow: visible; height: auto; opacity: 1; -webkit-transition: all 0.2s; transition: all 0.2s; }

#footer .family_site.selected .tt a { opacity: 0; }

#footer .family_site.selected.active .tt a { opacity: 1; }

#footer .family_site.selected.active .site .active a { position: static; height: auto; padding-left: 0; border: 0 none; line-height: inherit; }

#footer .sns { margin-top: 1.5rem; text-align: right; }

#footer .sns a { display: inline-block; overflow: hidden; width: 2.5rem; height: 2.5rem; margin-left: 0.5rem; border-radius: 100%; background-color: #fafafa; text-align: center; line-height: 2.5rem; vertical-align: top; }

#footer .sns a::before { font-size: 1.1rem; display: block; width: 100%; height: 100%; font-family: "xeicon"; color: #999; content: ''; }

#footer .sns a.facebook::before { content: ''; }

#footer .sns a.instagram::before { content: ''; }

#footer .sns a.blog::before { font-size: 1.2rem; font-family: "Noto Sans KR"; font-weight: 600; content: 'b'; text-indent: 0.15rem; line-height: 2.3rem; }

#footer .sns a:hover, #footer .sns a:focus { -webkit-transform: rotateY(360deg); transform: rotateY(360deg); -webkit-transition: all 0.3s 0.1s; transition: all 0.3s 0.1s; }

#footer .mbl_link a { height: 3rem; border: 1px solid #9c1c2b; line-height: 2.9rem; position: absolute; right: -6.5rem; top: -9rem; width: 3rem; background-color: #9c1c2b; color: #fff; text-align: center; -webkit-transform: translateY(-50%); transform: translateY(-50%); -webkit-transition: all 0.2s; transition: all 0.2s; }

#footer .mbl_link a:hover, #footer .mbl_link a:focus { background-color: #fff; color: #9c1c2b; }



@media (max-width: 1760px) { #gnb .topmenu > li { padding: 0 1.7rem; }
  #gnb .submenu { left: 1.5rem; } }

@media (max-width: 1530px) { #popup.type1 .bx-wrapper .bx-controls-direction a { display: block; }
  #header .etc { left: -1rem; width: calc(100% + 2rem); }
  #gnb .topmenu > li { padding: 0 1.5rem; }
  #footer .mbl_link a { position: fixed; right: 0; bottom: 0; top: auto; z-index: 5; margin-top: 0; -webkit-transform: translate(0, 0); transform: translate(0, 0); } }

@media (min-width: 1025px) { #header.active::before { height: 100%; }
  #header.active .logo { color: #fff; }
  #header.active .logo a::before { -webkit-transform: translateY(0); transform: translateY(0); -webkit-transition-delay: 0.1s; transition-delay: 0.1s; }
  #header.active .logo img { -webkit-transform: translateY(100%); transform: translateY(100%); -webkit-transition-delay: 0.1s; transition-delay: 0.1s; }
  #header.active .etc { border-color: #af4854 !important; }
  #header.active .etc::before { border-bottom: 0 none; background-color: #9c1c2b; }
  #header.active .etc a { border-color: #af4854 !important; color: #fff; }
  #header.active .etc a[href='#popup'] { color: #fff; }
  #header.active .etc .mn { border-color: #af4854 !important; }
  #header.active .etc .mn a { color: #fff; }
  #header.active .etc .mn a::before { color: rgba(255, 255, 255, 0.78); } }

@media (max-width: 1280px) { #footer { padding-bottom: 5.5rem; text-align: center; }
  #footer .link a + a::before { margin: 0 0.45rem 0 0.25rem; }
  #footer .link02 { top: auto; bottom: 2rem; width: 100%; padding-bottom: 3rem; }
  #footer .sns { text-align: center; }
  #footer .family_site { position: absolute; left: 50%; bottom: 0; z-index: 1; max-width: 100%; text-align: left; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
  #footer .address, #footer .copyright { position: relative; z-index: 0; padding-top: 1rem; }
  #footer .address::before, #footer .copyright::before { position: absolute; left: 50%; top: 0; z-index: -1; width: 1000%; height: 100%; margin-left: -500%; content: ''; background-color: #f8f8f8; }
  #footer .copyright::before { background-color: #fff; } }

@media (max-width: 1024px) { #header { max-width: 100%; }
  #header::before { display: none; }
  #header .logo { left: 1rem; }
  #header .etc { left: 0; width: 100%; }
  #header .AllMn a { display: block; }
  #gnb { position: absolute; right: -22.75rem; top: 3.5rem; z-index: 11; width: 22.75rem; height: auto; max-width: 80%; text-align: left; line-height: 2.5rem; -webkit-transition-delay: 0; transition-delay: 0; }
  #gnb .topmenu { height: auto; border-bottom: 1px solid #0b1a2e; }
  #gnb .topmenu > li { display: block; height: auto; padding: 0 !important; border-top: 1px solid #0b1a2e; }
  #gnb .topmenu > li > a { display: block; float: none; height: auto; padding: 0 0 0 1.5rem; color: #b4c0d0 !important; }
  #gnb .topmenu > li > a::before { position: absolute; left: auto !important; right: 1.5rem; top: 0; bottom: auto !important; width: auto !important; background: none; font-family: "xeicon"; color: #fff; content: ''; }
  #gnb .topmenu > li.active > a::before { content: ''; }
  #gnb .submenu { visibility: hidden; overflow: hidden; height: 0; opacity: 0; position: relative; left: 0; top: 0; width: 100%; padding: 0 1.5rem; background-color: #0b1a2e; line-height: 1.5rem; }
  #gnb .submenu a { margin: 0; line-height: inherit; }
  #header .gnb_bg { position: fixed; left: auto !important; right: -22.75rem; top: 0 !important; z-index: 10; width: 22.75rem !important; max-width: 80%; height: auto; border: 0 none; }
  #header .gnb_bg::before { font-size: 1rem; position: absolute; left: 1.5rem; top: 0; width: 100%; height: 3.5rem; padding-left: 7.5rem; background: url("/ipsi/img/layout/logo_active.png") no-repeat 0 center; background-size: 6.5rem auto; font-weight: 600; color: #fff; content: ''; line-height: 3.8rem; }
  #header.active .AllMn a { top: 0; width: 3.5rem; height: 3.5rem; background: none; line-height: 3.5rem; }
  #header.active #gnb { right: 0; -webkit-transition: all 0.2s; transition: all 0.2s; -webkit-transition-delay: 0.1s; transition-delay: 0.1s; }
  #header.active #gnb .submenu { visibility: hidden; overflow: hidden; height: 0; opacity: 0; -webkit-transition: all 0s; transition: all 0s; }
  #header.active #gnb .topmenu > li.active .submenu { visibility: visible; overflow: visible; height: auto; opacity: 1; -webkit-transition: all 0.2s; transition: all 0.2s; padding: 1rem 1.5rem; }
  #header.active .gnb_bg { right: 0; height: 100%; } }

@media (max-width: 768px) { #header .headerWrap { height: 3rem; padding: 0; line-height: 3rem; }
  #header .logo { font-size: 1rem; left: 1rem; height: 1.5rem; }
  #header .logo strong { line-height: 1.5rem; }
  #header .logo strong::before { top: 0.3rem; }
  #header .AllMn a { width: 3rem; height: 3rem; line-height: 3rem; }
  #footer { padding-top: 1rem; }
  #footer .address { margin-top: 0.5rem; }
  #footer .link a { display: inline; }
  #footer .link a:nth-child(4)::before { display: block; width: 100%; height: 1px; background: none; } }

@media (max-width: 530px) { #popup .item .label { margin: 0 0.25rem; }
  #popup .bx-wrapper { max-width: calc(100% - 5rem) !important; }
  #popup .bx-wrapper .bx-controls-direction a { width: 2rem; height: 2rem; line-height: 1.8rem; }
  #header .etc a { float: left; width: 20%; min-width: 0; padding: 0; }
  #header .etc a:last-child { border-right: 0 none; }
  #header .etc a.why, #header .etc a .m-hidden { display: none; }
  #header .etc .mn { width: 40%; border-left: 0 none; }
  #header .etc .mn dd { width: 50%; }
  #header .etc .mn dd a { width: 100%; }
  #footer .address { padding-top: 0.5rem; }
  #footer .address .label { display: block; margin: 0 auto 0.25rem; }
  #footer .address .copyright { margin-top: 0; padding-top: 0.5rem; } }
