@charset "utf-8";
@import url('./defaults/reset.css?ver=240126');
@import url('./defaults/utils.css?ver=240126');
@import url('./defaults/board.css?ver=240126');
@import url('./defaults/popup.css?ver=240126');
@import url('./defaults/ckeditor5.css?ver=240126');
@import url('./defaults/scroll-ani-transition.css?ver=240126');

/* ** 전역적으로 사용될 변수 스타일을 작성합니다. */
:root {
  --container-width: 1362px;
  --container-narrow-width: 1024px;
  --container-wide-width: 1600px;

  --primary: #41D83D;
  --primary-dark: #3A8402;
  --green-gradient: #2DD904, #23B500;

  --secondary: #2737A2;

  --scrollbar-color: var(--primary);

  --font-primary: "Pretendard", "맑은 고딕", sans-serif;
  --font-secondary: "Orbitron", "Pretendard", "맑은 고딕", sans-serif;
  --font-tertiary: "Poppins", "Pretendard", "맑은 고딕", sans-serif;

  --cubic-pop1: cubic-bezier(.85,.14,.29,.99);
  --cubic-pop2: cubic-bezier(.71,.45,.36,1.31);
  --cubic-pop3: cubic-bezier(.85,.14,.29,.99);
}

/* Base assets */
body {font-family: var(--font-primary); letter-spacing: -0.02em;}

.typo1,
.typo2,
.typo3,
.typo4,
.typo5,
.typo6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {font-family: var(--font-secondary); line-height: 1.3;}

.fc--primary {color: var(--primary)!important;}
.fc--primary-dark {color: var(--primary-dark)!important;}
.fc--secondary {color: var(--secondary)!important;}
.fc--white {color: #fff!important;}
.fc--black {color: #000!important;}

@media (hover: hover) {
  .fade-on-hover:hover {opacity: .7;}
}
@media screen and (max-width: 1399px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 499px) {}



/* Buttons */
.ql-button {--base: var(--secondary); --hover: var(--primary); display: inline-block; position: relative; overflow: hidden; padding: 1.0em 1.4em; background: var(--base); border-radius: 15px; font-size: 18px; color: #fff; font-weight: 700; line-height: 1.2; word-break: keep-all; text-align: center;}
.ql-button.block {display: block;}
.ql-button:has(.icon) {display: inline-flex; align-items: center; justify-content: space-between; gap: 1em;}
.ql-button:has(.icon):is(.block) {display: flex;}
.ql-button:has(.icon) .icon {}
.ql-button:has(.icon) .icon svg {display: block;}
.ql-button.type--transparent {background: none; border: 1px solid var(--hover); color: var(--hover);}
.ql-button.type--black {--base: var(--secondary-dark);}
.ql-button.type--dark {--base: var(--gray-dark);}
.ql-button.type--gray {--base: var(--gray); --hover: var(--gray-dark);}
.ql-button.theme--orange {--base: var(--orange);}

@media (hover: hover) {
  .ql-button-hover-trigger:hover .ql-button,
  .ql-button:hover {background: var(--hover);}
  .ql-button-hover-trigger:hover .ql-button.type--transparent,
  .ql-button.type--transparent:hover {background: var(--hover); color: #fff;}
}
@media screen and (max-width: 1399px) {
  .ql-button {font-size: 16px;}
}
@media screen and (max-width: 767px) {
  .ql-button {font-size: 15px; display: flex; width: 100%; justify-content: center; padding: .8em 1.4em; border-radius: 10px;}
}




/* Header */
.header {position: fixed; top: 0; left: 0; width: 100%; height: 100px; z-index: 9999; font-family: var(--font-secondary); transition: background .4s, transform .4s;}
.header-container {display: grid; grid-template-columns: 200px 1fr 200px; align-items: center; height: 100%; width: min(1920px, calc(100% - 100px)); margin-inline: auto; gap: 55px;}
.header .logo {display: flex; position: relative;}
.header .logo img {display: block; transition: opacity .4s;}
.header .logo img.color {opacity: 1;}
.header .logo img.white {position: absolute; top: 0; left: 0; opacity: 0;}

.header-gnb {display: flex; margin:0 auto; height: 100%;}
.header-gnb-item {display: flex; align-items: stretch; position: relative;}
.header-gnb-item > a {display: flex; justify-content: center; align-items: center; text-align: center; padding-inline: 20px; font-weight: 700; text-transform: uppercase;}

.header-submenu {position: absolute; top: 100%; left: 50%; transform: translate(-50%, -40px); padding: 20px 15px; background: #fff; border-radius: 15px; overflow: hidden; box-shadow: 0 5px 10px rgb(0,0,0,.05); color: #303030; min-width: 180px; opacity: 0; transition: transform .5s var(--easing1), opacity .5s var(--easing1); text-align: center; pointer-events: none; font-family: var(--font-primary);}
.header-submenu-item > a {display: block; padding-block: .3em;}

.header .etc-nav {display: flex; justify-content: flex-end; gap: 25px;}
.header .lang-nav {display: flex; gap: 5px; font-weight: 600; align-items: center;}
.header .lang-nav > a {padding: 13px 10px; position: relative; display: flex; align-items: center; justify-content: center; line-height: 1;}
.header .lang-nav > a.active {color: #fff; width: 45px;height: 45px; background: var(--primary); border-radius: 50%; pointer-events: none;}
.header .lang-nav > a.active::after {position: absolute; bottom: 0; left: 50%; transform: translate(-50%); width: 7px; height: 7px; border-radius: 50%; background: var(--primary); content: '';}

.header .etc-nav .btn--sitemap-toggle {display: flex; flex-direction: column; justify-content: center; gap: 5px; border: none; outline: none; box-shadow: none; appearance: none; width: 45px; height: 34px; border-radius: 5px; padding: 10px; cursor: pointer; position: relative; overflow: hidden; display: none; background: transparent; margin-right: -10px;}
.header .etc-nav .btn--sitemap-toggle .bar {width: 100%; height: 2px; background: #7F8FA1; transition: .4s; border-radius: 2px;}

body.sitemap--open .header .etc-nav .btn--sitemap-toggle .bar {transform: translate(10%); background: var(--primary);}
body.sitemap--open .header .etc-nav .btn--sitemap-toggle .bar:nth-child(2) {transform: translate(-10%);}

.header--scrolled {background: #fff; border-bottom: 1px solid #dfdfdf;}
.header--hide {transform: translate(0, -100%);}

body:has(.intro-hero) .header:not(.header--scrolled) {color: #fff;}
body:has(.intro-hero) .header:not(.header--scrolled) .logo img.color {opacity: 0;}
body:has(.intro-hero) .header:not(.header--scrolled) .logo img.white {opacity: 1;}

.sitemap {display: none;}


@media (hover: hover) {
  .header .header-gnb-item:hover > a {color: var(--primary);}
  .header-gnb-item:hover .header-submenu {opacity: 1; transform: translate(-50%, -10px); pointer-events: initial;}
  .header-submenu-item > a:hover {color: var(--primary);}

  .header .lang-nav > a:not(.active):hover {opacity: .7;}
}
@media screen and (max-width: 1399px) {
  .header {height: 60px;}
  .header-container {width: min(1920px, calc(100% - 30px)); display: flex;}
  .header-gnb {display: none;}
  .header .logo {margin-right: auto;}
  .header .logo {height: 30px;}
  .header .logo img {height: 100%; width: auto;}
  .header .lang-nav {font-size: 15px; gap: 10px;}
  .header .lang-nav > a {padding: 0;}
  .header .lang-nav > a.active {width: 36px; height: 36px; border-radius: 5px; width: auto; height: auto; background: transparent; color: var(--primary); border-radius: 0;}
  .header .lang-nav > a.active::after {display: none;}

  .header .etc-nav .btn--sitemap-toggle {display: flex;}

  .sitemap {display: block; position: fixed; top: 0; left: 0; z-index: 9998; width: 100%; height: calc(var(--vh, 1vh) * 100); pointer-events: none;}
  .sitemap__dim {position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgb(0,0,0,.6); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); opacity: 0; transition: opacity .5s;}
  .sitemap__container {position: absolute; z-index: 10; top: 0; right: 0; width: 100%; max-width: 520px; height: 100%; background: #fff; overflow: hidden auto; --padding-inline: 30px; transform: translate(100%); opacity: 0; transition: opacity .5s, transform .5s; padding-top: 80px;}
  .sitemap__container .head {position: sticky; top: 0; left: 0; width: 100%; padding-block: 30px 20px; padding-inline: var(--padding-inline); display: flex; align-items: flex-end; justify-content: space-between; background: #fff; border-bottom: 1px solid var(--light-gray1);}
  .sitemap__container .head .logo {height: auto; width: auto;}
  .sitemap__container .head .logo a {display: block;}
  .sitemap__container .head .logo a svg {width: 100px; height: auto;}
  .sitemap__container .head .logo a svg path {fill: var(--logo-navy);}
  .sitemap__container .head .logo a svg :where(#logo_elem5, #logo_elem3, #logo_elem2) {fill: var(--logo-blue)!important;}
  .sitemap__container .body {padding-block: 20px;}
  .sitemap__container .body .block {padding-inline: var(--padding-inline); padding-block: 15px;}

  body.sitemap--open .sitemap {pointer-events: initial;}
  body.sitemap--open .sitemap__dim {opacity: 1;}
  body.sitemap--open .sitemap__container {opacity: 1; transform: translate(0);}
  body.sitemap--open .header .lang-nav > a:not(.active) {color: #000!important;}

  .sitemap_gnb {}
  .sitemap_gnb__item {padding-block: .7em;}
  .sitemap_gnb__item:not(:last-child) {border-bottom: 1px solid #ededed;}
  .sitemap_gnb__item .trigger {display: flex; align-items: center; justify-content: space-between; font-size: 22px; font-family: var(--sub-font1);}
  .sitemap_gnb__item .trigger .ico--plus {width: 1em; height: auto; aspect-ratio: 1 / 1;}
  .sitemap_gnb__item .trigger .ico--plus::before,
  .sitemap_gnb__item .trigger .ico--plus::after {background: #afafaf; border-radius: 2px;}
  .sitemap_gnb__item .trigger .ico--plus::before {width: 2px;}
  .sitemap_gnb__item .trigger .ico--plus::after {height: 2px;}
  .sitemap_gnb__item.active .trigger {color: var(--primary);}
  .sitemap_gnb__item.active .trigger .ico--plus::before {display: none;}
  .sitemap_gnb__item.active .trigger .ico--plus::before,
  .sitemap_gnb__item.active .trigger .ico--plus::after {background: var(--primary);}

  .sitemap_submenu {display: none; margin-block: 10px; padding: 0 0 40px 15px;}
  .sitemap_gnb__item.active .sitemap_submenu {display: block;}
  .sitemap_submenu__ls {font-size: 20px;}
  .sitemap_submenu__ls > .item {}
  .sitemap_submenu__ls > .item > a {display: block; padding-block: 5px; font-weight: 300;}
  .sitemap_submenu__ls > .item.active > a {font-weight: 500;}

  .sitemap_submenu__ls > .item:has(.depth2_ls) > a {display: flex; align-items: center; gap: .8em;}
  .sitemap_submenu__ls > .item:has(.depth2_ls) > a::after {width: .3em; aspect-ratio: 1 / 1; border-top: 1px solid #dfdfdf; border-right: 1px solid #dfdfdf; transform: rotate(45deg); content: ''; display: block; transition: transform .4s;}
  .sitemap_submenu__ls > .item:has(.depth2_ls).active > a::after {transform: translate(0, -25%) rotate(135deg);}
  .sitemap_submenu__ls > .item .depth2_ls {display: none; font-size: 18px; padding: 5px 0 40px 0; color: #dfdfdf;}
  .sitemap_submenu__ls > .item.active .depth2_ls {display: block;}
  .sitemap_submenu__ls > .item:last-child .depth2_ls {padding-bottom: 0;}
  .sitemap_submenu__ls > .item .depth2_ls > li > a {display: block; padding-block: 8px; line-height: 1;}
  .sitemap_submenu__ls > .item .depth2_ls > li.active {color: #1b1b1b; font-weight: 500;}

  .sitemap__lang {display: flex; font-size: 18px;}
  .sitemap__lang a {display: flex; align-items: center; color: #dadada;}
  .sitemap__lang a.active {color: var(--primary); font-weight: 600;}
  .sitemap__lang a:not(:last-child)::after {width: 1px; height: .7em; content: ''; background: #dfdfdf; margin: 0 .6em;}
}
@media screen and (max-width: 767px) {
  .header {height: 50px;}
  .header .logo {height: 26px;} 
  .header .lang-nav {font-size: 14px;}
  .header .etc-nav .btn--sitemap-toggle,
  .header .lang-nav > a.active {}

  .btn--sitemap-close .ico--times {width: 40px;}
  .sitemap__container {--padding-inline: 20px;}
}




/* Floating */
.floating-nav-wrapper {position: fixed; bottom: 0; right: 0; width: 100%; pointer-events: none; z-index: 5555;}
.floating-nav-container {width: min(1920px, 100%); padding: 0 20px 50px 20px; margin-inline: auto; display: flex; justify-content: flex-end;}
.floating-nav {display: flex; flex-direction: column; gap: 13px; width: auto; align-items: center; justify-content: center;}
.floating-nav .button {width: 55px; height: 55px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; border: none; box-shadow: 7px 7px 16px rgb(0,0,0,.32); position: relative; transition: all .3s ease; transform-origin: center; pointer-events: initial;}
.floating-nav .button .floating-icon {transition: .3s ease; opacity: 1; display: block; width: 100%;}
.floating-nav .button .txt {opacity: 0; font-size: 16px;color:#fff; position: absolute; transition: .3s ease;}

.floating-nav .btn-supplier {background: #2737A2}
.floating-nav .btn-hospital {background: var(--primary);}
.floating-nav .btn-inquiry {background: #3c3d46;}

@media (hover: hover) {
  .floating-nav .button:hover {transform: scale(1.1);}
  .floating-nav .button:hover .txt {opacity: 1;}
  .floating-nav .button:not(.top-button):hover .floating-icon {opacity: 0;}
}
@media screen and (max-width: 1399px) {
  .floating-nav-container {padding: 0 10px 10px 0;}
  .floating-nav .button {width: 42px; height: 42px;}
  .floating-nav .button .txt {font-size: 12px;}
}
@media screen and (max-width: 767px) {
  body:has(.lnb-bar) .floating-nav-container {padding-bottom: 62px;}
  .floating-nav {gap: 8px;}
}
@media screen and (max-width: 499px) {}




/* Footer */
.footer {background: #efefefe5; color: #6A6A6A; padding-bottom: 50px; position: relative; z-index: 500;}
.footer > div {padding-block: 30px;}
.footer > div > .container {display: flex; gap: 148px;}
.footer-head {border-bottom: 1px solid rgb(112, 112, 112, .4);}
.footer-head .container {justify-content: space-between;}
.footer-head .nav-link {font-weight: 500; display: flex; gap: 50px; text-transform: uppercase;}
.footer-head .nav-policy {display: flex; align-items: center; justify-content: flex-end; gap: 30px;}
.footer-head .nav-policy i {width: 1px; height: 0.7em; background: #6a6a6a;}
.footer-head .nav-policy a {opacity: .8;}
.footer-body .container {align-items: flex-start;}
.footer-body .logo {}
.footer-body .logo svg,
.footer-body .logo img {display: block;}
.footer-body .content ul {}
.footer-body .content ul > li {margin-bottom: 0.6em;}
.footer-body .content ul > li .item {display: inline-block; margin-right: 18px;color:rgb(106, 106, 106,0.8);}
.footer-body .content ul > li .item .key {margin-right: 0.3em; }
.footer-body .content .copyright { margin-top: 1em; display: block; color:rgba(135, 135, 135,0.74);}
.footer-body .content.tel {margin-left: auto;}
.footer-body .content.tel .item:not(:last-child) {margin-bottom: 11px;}
.footer-body .content.tel .item .key {font-size: 18px; color:rgba(106, 106, 106,0.55); font-weight: 600; text-transform: uppercase; width: 46px; display: inline-block;}
.footer-body .content.tel .item .val {font-size: 22px;color:rgba(106, 106, 106,0.80); }
.footer-body .nav-family-site {position: relative;}
.footer-body .nav-family-site .trigger {all: unset; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 154px; font-size: 16px; font-weight: 600; text-transform: uppercase; border-bottom: 1px solid #6a6a6a; padding-left: 5px; padding-block: 8px;}
.footer-body .nav-family-site .trigger .ico--plus {width: 16px; height: 16px;}
.footer-body .nav-family-site .trigger .ico--plus::after,
.footer-body .nav-family-site .trigger .ico--plus::before {background: #6a6a6a;}
.footer-body .nav-family-site .dropdown {position: absolute; top: 100%; left: 0; width: 100%; background: #e1e1e1; padding-block: 8px; display: none;}
.footer-body .nav-family-site:hover .dropdown {display: block;}
.footer-body .nav-family-site .dropdown > li > a {display: block; padding: 5px 10px;}
@media (hover: hover) {
  .footer-head .nav-link a:hover {opacity: .5;}
  .footer-head .nav-policy a:hover {opacity: 1;}
  .footer-body .nav-family-site .dropdown > li > a:hover {font-weight: 700;}
}
@media screen and (max-width: 1399px) {
  .footer {font-size: 14px;}
  body:has(.lnb-bar) .footer {padding-bottom: 70px;}
  .footer > div > .container {gap: 20px 30px;}
  .footer-head .nav-policy,
  .footer-head .nav-link {gap: 20px;}
  .footer-body .logo svg,
  .footer-body .logo img {width: 120px; height: auto;}
  .footer-body .content ul > li .item {display: flex;}
  .footer-body .content ul > li .item .key {flex-shrink: 0;}
  .footer-body .content.tel .item .key,
  .footer-body .content.tel .item .val {font-size: inherit;}
}
@media screen and (max-width: 767px) {
  .footer {display: flex; flex-direction: column; border-top: 1px solid #dadada; padding-block: 35px; word-break: keep-all;}
  .footer > div > .container {flex-direction: column; text-align: left; align-items: flex-start; padding-right: 40px;}
  .footer-head {order: 1; border-bottom: none; border-top: 1px solid #dadada; margin-top: 30px;}
  .footer-head .nav-link {display: none;}
  .footer-head .nav-policy {width: 100%; justify-content: flex-start; gap: 1em;}
  .footer-body {order: 0; padding-top: 0!important;}
  .footer-body .content.tel {margin-left: 0;}
  .footer-body .content ul > li .item {display: block;}
  .footer-body .content ul > li .item .key {display: block; width: 100%; margin-right: 0;}
  .footer-body .content.tel .item:not(:last-child) {margin-bottom: 5px;}
  .footer-body .logo {order: 0;}
  .footer-body .content {order: 2; font-size: 12px;}
  .footer-body .content.tel {order: 1; font-size: 18px;}

}




/* Modal */
.modal {--width: 890px; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; z-index: 999999; align-items: center; justify-content: center; padding: 50px 15px; display: none; opacity: 0;  background: rgb(0,0,0,.7); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);}
.modal-small {--width: 652px;}
.modal .dim {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.modal .container {--padding: 70px 60px; width: var(--width)!important; max-width: 100%; position: relative; z-index: 1; background: #fff; overflow: hidden auto; max-height: 100%; border-radius: 10px;}
.modal .container .head {position: sticky; top: 0; left: 0; width: 100%; padding: var(--padding); padding-bottom: 30px; background: #fff; z-index: 10;}
.modal .container .btn--close {position: absolute; top: 20px; right: 20px;}
.modal .container .btn--close .ico--times::before {background: #000;}
.modal .container .btn--close .ico--times::after {background: #000;}
.modal .container .content {padding: var(--padding); padding-top: 0;}

.modal.overflow {overflow: hidden auto; align-items: flex-start;}
.modal.overflow .dim {background: none; backdrop-filter: none;}
.modal.overflow .container {overflow: visible; max-height: none;}
.modal.overflow .container .head {top: -50px; border-radius: 10px 10px 0 0; padding-block: 50px 20px; padding-right: 60px; border-bottom: 1px solid var(--gray-lighter);}
.modal.overflow .container .content {padding-top: 20px;}

.modal-brand-notice {--width: 500px;}
.modal-brand-notice.active {opacity: 1; display: flex;}
.modal-brand-notice .container .head {padding-block: 50px 20px;}
.modal-brand-notice .container .content .title {margin-bottom: 0.6em;}

.modal.type--video {--width: 1000px;}
.modal.type--video .container {--padding: 0; border-radius: 0; display: flex; overflow: visible; flex-direction: column; background: transparent; gap: 20px;}
.modal.type--video .container .content {border-radius: 10px; overflow: hidden; order: 1;}
.modal.type--video .container .btn--close {position: static; margin-inline: auto; order: 2;}
.modal.type--video .container .btn--close .ico--times::before,
.modal.type--video .container .btn--close .ico--times::after {background: #fff;}

@media screen and (max-width: 1399px) {
  .modal .container {--padding: 70px 30px;}
  .modal.overflow .container .head {padding-block: 20px;}
}
@media screen and (max-width: 767px) {
  .modal .container {--padding: 70px 15px;}
  .modal.type--video {padding-inline: 0;}
  .modal.type--video .container {--padding: 0; max-height: none;}
}


/* Policy */
.policy-doc {padding: 30px; border-radius: 10px; background: #FCFCFC; border: 1px solid #E8E8E8; font-size: 16px;}
.policy-doc dl {word-break: break-all;}
.en .policy-doc dl {word-break: normal;}
.policy-doc dt {display: block; font-weight: 700; color: var(--dark-navy); margin-bottom: 0.3em;}
.policy-doc dd {margin-bottom: 1.5em;}
.policy-doc dd :where(h1, h2, h3, h4, h5, h6) {color: var(--dark-navy); margin-bottom: 0.3em;}
.policy-doc dd .indent {padding-left: 1em;}
.policy-doc dd p {margin-bottom: 0.5em;}
.policy-doc dd table {width: 100%; font-size: 13px;}
.policy-doc dd table :where(th, td) {border: 1px solid var(--gray-lighter); padding: .3em .5em; line-height: 1.5;}
.policy-doc dd table thead th {background: var(--gray-light);}
.policy-doc .bullet > li::before {background: var(--primary);}
.policy-doc ol {margin-block: 1em;}
.policy-doc ol > li:not(:last-child) {margin-bottom: 0.7em;}

@media screen and (max-width: 1399px) {
  .policy-doc {padding: 30px 20px; font-size: 15px;}
}
@media screen and (max-width: 767px) {
  .policy-doc {padding: 25px 15px; font-size: 14px;}
  .policy-doc dd .indent {padding-left: 0em;}
}