:root {
  --full-container: 1840px;
  --max-container: 1760px;
  --middle-container: 1400px;
  --main-color: #004ea2;
  --sub-color: #f39800;
  --sub-color2: #64b72f;
  --txt-color: #383838;
  --bg-color:#e1f2ff;
}
.full-container {max-width:var(--full-container); margin:0 auto;}
.max-container {max-width:var(--max-container); margin:0 auto;}
.container {max-width:var(--middle-container); margin:0 auto;}

@media screen and (max-width: 1840px) {.full-container {padding:0 20px; width: 100%;}}
@media screen and (max-width: 1760px) {.max-container {padding:0 20px; width: 100%;}}
@media screen and (max-width: 1400px) {.container {padding:0 20px; width: 100%;}}

/* 기본설정변경 */
::selection {background-color: var(--main-color); color: #fff;}
h1,h2,h3,h4,p,a,li,div,button,dl, dt, dd ,b, strong
{font-family: "pretendard", sans-serif; color: #222;}
.nav a 
{font-family: "pretendard", sans-serif; letter-spacing: 1.4;}
.header .elementor-nav-menu--main .elementor-item
{justify-content: center; font-family: 'pretendard', sans-serif !important; font-size: 2rem !important; color: #000; font-weight: 600 !important; letter-spacing: -0.14rem; transition: color 0.3s ease;}
.header .sub-menu.elementor-nav-menu--dropdown
{width: 100% !important;}
.header .menu-item
{min-width: 17rem;}
.header .menu-item a.elementor-sub-item
{white-space: wrap; line-height: 1.4;}
.header .sub-menu
{transform: translate(0);}
ul.elementor-nav-menu--dropdown a,ul.elementor-nav-menu--dropdown a:focus,ul.elementor-nav-menu--dropdown a:hover
{border: 0 !important;}
.header .elementor-nav-menu .sub-arrow
{display: none;}
.elementor-nav-menu .sub-arrow
{display: none;}

/* table */
table {border-top: 2px solid var(--main-color);}
table tr th {width: 28rem; vertical-align: middle; font-size: 1.8rem; color: #1b1b1b; font-weight: bold; border: 0; border-bottom: 1px solid #e5e5e5; background-color: #f7f7f7;}
table tr td {text-align: center; vertical-align: middle; font-size: 1.8rem; color: #222; text-align: center; border: 1px solid #e5e5e5; border-top: 0px solid; background-color: #fff;}
table tr td:nth-last-of-type(1) {border-right: 0;}
table tr td:nth-of-type(1) {border-left: 0;}

/* 가로형 표 */
.sub-table-wrap table tr th {background-color: #eef1e8 !important;}
.sub-table-wrap table tr td {background-color: #fff !important;}
.sub-table-wrap table tr td p {position: relative; padding-left: 1.2rem; font-size: 1.8rem; line-height: 1.9; color: #222;}
.sub-table-wrap table tr td p.accent {font-weight: 700; line-height: 1.4; color: var(--main-color);}
.sub-table-wrap table tr td p::after {content: ""; position: absolute; top: 50%; transform: translateY(-50%); left: 0; width: 5px; height: 5px; border-radius: 50%; background-color: var(--main-color);}

/* animation--------------------------- */

/* 위로 나타나기 - 서브페이지 or 섹션 */
.section-ani, 
.sub-title-con,.sub-con
{opacity: 0; transform: translateY(50px); transition: all 0.6s ease; }
.section-ani.active,
.sub-title-con.active,.sub-con.active
{opacity: 1; transform: translateY(0);}

/* 좌우에서 나오기 */
.left
{opacity: 0; transform: translateX(-50px); transition: all 0.6s ease;}
.right
{opacity: 0; transform: translateX(50px); transition: all 0.6s ease;}

.left.active,.right.active
{opacity: 1; transform: translate(0, 0);}

/* 도로록, item 하나씩 올라오기 */
.item ,.txt-ani
{opacity: 0; transform: translateY(30px); transition: background-color 0.3s ease, opacity 0.6s ease, transform 0.6s ease;}
.item.active ,.txt-ani.active
{opacity: 1; transform: translateY(0);}