:root {
  --safeArea_top: env(safe-area-inset-top);
  --safeArea_bottom: env(safe-area-inset-bottom);
  --safeArea_y: calc(env(safe-area-inset-top) + env(safe-area-inset-bottom));

  /* using gradient bacground */
  --color_main_gradient_1: #28c2b5;
  --color_main_gradient_2: #42e598;
  --color_blue_gradient_1: #00A2E8;
  --color_blue_gradient_2: #07D3D5;
  --color_point_1_gradient_1: #f8862d;
  --color_point_1_gradient_2: #f0c646;
  --color_light_gradient_1: #e0eaf3;
  --color_light_gradient_2: #f6f6f6;

  --color_disabled_gradient_1: #bbbbbb;
  --color_disabled_gradient_2: #dddddd;

  --color_border_gradientRounding: #cccccc;
  --color_textColor_on_mainGradient: #ffffff;
  --color_textColor_on_pointGradient: #ffffff;

  --color_body_bg: #ffffff;
  --color_textColor_subTitle: #454545;
  --color_textColor_c1: #333333;
  --color_textColor_c2: #454545;
  --color_textColor_c3: #777777;
  --color_textColor_c4: #999999;
  --color_textColor_c5: #aaaaaa;
  --color_textColor_c6: #cccccc;

  --color_footer_bg: #cccccc;
  --color_footer_bg_2: #aaaaaa; /* for gradient*/
  --color_text_onFooter: #eeeeee;

  --color_divided_line: #eeeeee;
  --color_scrollBox_border: #cccccc;

  --color_inputGroup_border: #999999;

  --color_labelText: #666666;
  --color_labelText_checked: #333333;
  --color_bg_checkBox: #e0eaf3;

  --color_border_listBox: #dddddd;
  --color_shadow_listBox: #eeeeee;

  --space_step_0: 0em;
  --space_step_1: 0.3em;
  --space_step_2: 0.6em;
  --space_step_3: 1em;
  --space_step_4: 1.5em;
  --space_step_5: 2em;
  --space_step_6: 3.5rem;
}

* {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  user-select: none;
  -webkit-touch-callout: none;
}

/*** basic layout ***/

html {
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  width: calc(100vw);
  min-height: calc(100vh);
  background-color: var(--color_body_bg) !important;
  display: flex;
  flex-direction: column;
  /*overflow-y: hidden;*/
  font-family: "Nanum Gothic", sans-serif;
}

#top_bar {
  z-index : 100;
  position: fixed;
  width: 100%;
  background-image: linear-gradient(
    to right,
    var(--color_main_gradient_1),
    var(--color_main_gradient_2)
  );
  padding-top: 0;
  padding-top: var(--safeArea_top);
  border: none;
}

#top_bar .floatingBox {
  display: flex;
  justify-content: stretch;
  align-items: center;
  clear: both;
}

#top_bar i {
  margin: 0.6em;
  color: var(--color_textColor_on_mainGradient);
  font-size: 1.4em;
}

#top_bar #ic_back {
 	margin-left:1.5rem; 
  margin-right: 0;
  color: var(--color_textColor_on_mainGradient);
  font-size: 1.4em;
}

#top_bar #ic_top_logo {
  margin-right: 0;
  color: var(--color_textColor_on_mainGradient);
  font-size: 1.8em;
}

#top_bar .title {
 	margin-left:0.5rem; 
  padding: 1em 0em 1.1em 0.4em;
  font-size: 1.2em;
  font-weight: bold;
  color: var(--color_textColor_on_mainGradient);
  text-align: left;
  flex-grow: 1;
}

#top_bar .rounder {
  background-color: var(--color_body_bg);
  border-radius: 1em 1em 0 0;
  border-top: var(--color_border_gradientRounding) 1px solid;
  width: 100%;
  height: 1em;
  clear: both;
}

#body_content {
  padding-top: 5.5em;
  padding-left: 1em;
  padding-right: 1em;
  padding-bottom: 4em;
  overflow-y: scroll !important;
  background-color: var(--color_body_bg);
  border: none;
  font-family: "Nanum Gothic", sans-serif;
}

#body_content #cover_safeArea_top,
#body_content_hasSub #cover_safeArea_top {
  height: 1px;
  margin-top: 0;
  margin-top: var(--safeArea_top);
}
#body_content #cover_safeArea_bottom,
#body_content_hasSub #cover_safeArea_bottom {
  height: 1px;
  margin-bottom: 0;
  margin-bottom: calc(var(--safeArea_bottom));
}

#body_content .subTitle,
#body_content_hasSub .subTitle {
  font-size: 1.2em;
  font-weight: bold;
  color: var(--color_textColor_subTitle);
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

#body_content .text,
#body_content_hasSub .text {
  line-height: 1.3em;
  font-size: 1em;
  color: var(--color_textColor_c2);
}
#body_content .text_sm,
#body_content_hasSub .text_sm {
  font-size: 0.85em;
}
#body_content .text_scroll,
#body_content_hasSub .text_scroll {
  overflow-y: scroll;
  border: var(--color_scrollBox_border) solid 1px;
  border-radius: 0.4em;
  padding: 0.6em;
}

#body_content_hasSub {
  padding-top: 5.5em;
  padding-left: 1em;
  padding-right: 1em;
  padding-bottom: 4em;
  overflow-y: hidden !important;
  background-color: var(--color_body_bg);
}
#body_content_hasSub #body_content_sub {
  overflow-y: scroll !important;
}

#footer {
  position: fixed;
  bottom: 0;
  z-index: 100;
  width: 100%;
  background-image: linear-gradient(
    to bottom,
    var(--color_footer_bg),
    var(--color_footer_bg_2)
  );
  padding-bottom: 0;
  padding-bottom: var(--safeArea_bottom);
}

#footer .copyright {
  padding: 0.7em;
  font-size: 0.8em;
  font-family: "Nanum Gothic", sans-serif;
  color: var(--color_text_onFooter);
  text-align: center;
}

#footer .rounder {
  background-color: var(--color_body_bg);
  border-radius: 0 0 1em 1em;
  border-bottom: var(--color_footer_bg) 1px solid;
  width: 100%;
  height: 1em;
}

#footer.lightGrd {
  background-image: linear-gradient(
    to bottom,
    var(--color_light_gradient_1),
    var(--color_light_gradient_2)
  );
}

.text_point {
  color: var(--color_point_1_gradient_1);
}

/*** specific style ***/

.topComment {
  font-size: 0.8em;
  text-align: center;
  background-color: rgba(50, 50, 50, 0.3);
  color: var(--color_body_bg);
  border-radius: 50px;
  padding: 0.4em 1em;
  line-height: 120%;
}

/*** Btn Group like Radio button ***/
.top_tabMenu {
  border-radius: 1.5em;
  width: 100%;
  display: inline-flex;
  cursor: pointer;
  background-color: rgba(50, 50, 50, 0.2);
  color: var(--color_body_bg);
}

.top_tabMenu .top_tabMenu_item {
  font-size: 0.85em;
  margin: 0px;
  padding: 0.4em;
  text-align: center;
  /* background-color: #eeeeee;
  color: #888888; */
  background-color: transparent;
  color: #dddddd;
  -webkit-box-flex: 1;
  flex: 1 1 auto;
  /* width: 100%; */ /* 균등영역 */
  border-right: #cccccc solid 1px;
}

.top_tabMenu > .top_tabMenu_item.checked {
  font-weight: bold;
  background-color: rgba(50, 50, 50, 0.4);
}

.top_tabMenu .top_tabMenu_item:first-of-type {
  border-top-left-radius: 2em;
  border-bottom-left-radius: 2em;
}

.top_tabMenu .top_tabMenu_item:last-of-type {
  border-top-right-radius: 2em;
  border-bottom-right-radius: 2em;
  border-right: none;
}

.line_H {
  height: 1px !important;
  background-color: var(--color_divided_line);
  width: 100%;
  margin-top: 1.1em;
  margin-bottom: 1.1em;
  white-space: pre;
}

.shadow_1 {
  box-shadow: 0.1em 0.1em 0.1em 0.1em var(--color_shadow_listBox);
}

/*** control style ***/

button.btn {
  font-size: 1em;
  letter-spacing: 0.08em;
  font-weight: bold;
  text-align: center;
  width: 100%;
  padding: 0.7em 1.5em;
  background-image: linear-gradient(
    25deg,
    var(--color_main_gradient_1),
    var(--color_main_gradient_2)
  );
  border: none;
  color: var(--color_textColor_on_mainGradient) !important;
  border-radius: 1.5em;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

button.btn.blue {
  background-image: linear-gradient(
    25deg,
    var(--color_blue_gradient_1),
    var(--color_blue_gradient_2)
  );

}

button.btn:disabled, button.btn_disable {
  color: var(--color_textColor_c3);
  background-image: linear-gradient(
    25deg,
    var(--color_disabled_gradient_1),
    var(--color_disabled_gradient_2)
  );
}


button.btn_lg {
  font-size: 1.2em;
}

button.btn_xl {
  font-size: 1.4em;
}

button.btn_point {
  background-image: linear-gradient(
    25deg,
    var(--color_point_1_gradient_1),
    var(--color_point_1_gradient_2)
  );
}
button.btn_normal {
  background-image: linear-gradient(0deg, #eeeeee, #eeeeee);
  color: #666666 !important;
  border-radius: 1.5em;
}

button.btn_iconCircle {
  background-color: #999999;
  color: #eeeeee;
  font-size: 16px;
  padding: 0px 4px;
  align-self: center;
  width: 24px !important;
  height: 24px !important;
  border-radius: 12px;
  outline: none;
  appearance: none;
  border: 0px;
}

/*** Div Group ***/

.div_group {
  width: 100%;
  display: inline-flex;
}

.div_group .div_group_item {
  -webkit-box-flex: 1;
  flex: 1 1 auto;
  margin-left: 0.2em;
}
.div_group .div_group_item:first-of-type {
  margin-left: 0em;
}

/*** Btn Group like Radio button ***/
.btn_group {
  border-radius: 1.5em;
  width: 100%;
  display: inline-flex;
  cursor: pointer;
  border: #cccccc solid 1px;
}

.btn_group .btn_group_item {
  font-size: 1em;
  margin: 0px;
  padding: 0.7em 1.5em;
  text-align: center;
  background-color: #eeeeee;
  color: #888888;
  -webkit-box-flex: 1;
  flex: 1 1 auto;
  border-right: #cccccc solid 1px;
}

.btn_group > .btn_group_item.checked {
  background-image: linear-gradient(
    25deg,
    var(--color_main_gradient_1),
    var(--color_main_gradient_2)
  );
  color: var(--color_textColor_on_mainGradient) !important;
}

/* .btn_group > .btn_group_item.checked::before {
  content: "✓ ";
} */

.btn_group .btn_group_item:first-of-type {
  border-top-left-radius: 1.5em;
  border-bottom-left-radius: 1.5em;
}

.btn_group .btn_group_item:last-of-type {
  border-top-right-radius: 1.5em;
  border-bottom-right-radius: 1.5em;
  border-right: none;
}

/*** Select Box ***/

.select_box {
  border: solid 1px var(--color_inputGroup_border);
  width: 100%;
  border-radius: 0.4em;
  display: inline-flex;
  background-color: transparent;
}
.select_box.focused {
  border-color: var(--color_main_gradient_2);
  background-color: var(--color_bg_checkBox);
}

.select_box input,
.select_box select {
  -webkit-box-flex: 1;
  flex: 1 1 auto;
  font-size: 1.1em;
  background-color: transparent;
  outline: none;
}

.select_box input,
.select_box input:focus {
  border: none;
  margin-right: 0.7em;
  background-color: transparent;
  outline: none;
}

.select_box select,
.select_box select:focus {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  margin-right: 0.7em;
}

.select_box select + i {
  align-self: center;
}

.select_box .text {
  margin: 0.7em;
  width: 80px !important;
  border-right: solid 1px #999999;
}

/*** others ***/

div.goDetail {
  font-size: 1em;
  color: var(--color_textColor_c6);
  align-self: center;
}

input[type="checkbox"].checkbox_circle {
  display: none;
}

input[type="checkbox"].checkbox_circle + label {
  display: inline-block;
  cursor: pointer;
  color: var(--color_labelText);
}
input[type="checkbox"].checkbox_circle + label > span {
  /* vertical-align: middle; */
  padding: 0.3em 0.3em 0.1em 0.3em;
  border-radius: 40px;
  background-color: var(--color_bg_checkBox);
}
input[type="checkbox"].checkbox_circle + label > span > i {
  color: transparent;
}

input[type="checkbox"].checkbox_circle:checked + label {
  color: var(--color_labelText_checked);
  font-weight: bold;
}
input[type="checkbox"].checkbox_circle:checked + label > span {
  background-image: linear-gradient(
    180deg,
    var(--color_point_1_gradient_1),
    var(--color_point_1_gradient_2)
  );
}
input[type="checkbox"].checkbox_circle:checked + label > span > i {
  color: var(--color_textColor_on_pointGradient);
}

label.for_input {
  font-size: 1em;
  color: #333333;
}

/*** class defined lit Bootstrap style ***/

.cursor_pointer {
  cursor: pointer;
}

/* display */
.d-none {
  display: none;
}

.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}

.text-lg {
  font-size: 1.2em;
}
.text-sm {
  font-size: 0.85em;
}
.text-xs {
  font-size: 0.7em;
}

/* padding for step_0 */
.p-0,
.px-0,
.pl-0 {
  padding-left: var(--space_step_0);
}

.p-0,
.px-0,
.pr-0 {
  padding-right: var(--space_step_0);
}

.p-0,
py-0,
pt-0 {
  padding-top: var(--space_step_0);
}
.p-0,
py-0,
pb-0 {
  padding-bottom: var(--space_step_0);
}

/* margin for step_0 */
.m-0,
.mx-0,
.ml-0 {
  margin-left: var(--space_step_0);
}

.m-0,
.mx-0,
.mr-0 {
  margin-right: var(--space_step_0);
}

.p-0,
.my-0,
.mt-0 {
  margin-top: var(--space_step_0);
}
.m-0,
.my-0,
.mb-0 {
  margin-bottom: var(--space_step_0);
}

/* padding for step_1 */
.p-1,
.px-1,
.pl-1 {
  padding-left: var(--space_step_1);
}

.p-1,
.px-1,
.pr-1 {
  padding-right: var(--space_step_1);
}

.p-1,
py-1,
pt-1 {
  padding-top: var(--space_step_1);
}
.p-1,
py-1,
pb-1 {
  padding-bottom: var(--space_step_1);
}

/* margin for step_1 */
.m-1,
.mx-1,
.ml-1 {
  margin-left: var(--space_step_1);
}

.m-1,
.mx-1,
.mr-1 {
  margin-right: var(--space_step_1);
}

.p-1,
.my-1,
.mt-1 {
  margin-top: var(--space_step_1);
}
.m-1,
.my-1,
.mb-1 {
  margin-bottom: var(--space_step_1);
}

/* padding for step_2 */
.p-2,
.px-2,
.pl-2 {
  padding-left: var(--space_step_2);
}

.p-2,
.px-2,
.pr-2 {
  padding-right: var(--space_step_2);
}

.p-2,
py-2,
pt-2 {
  padding-top: var(--space_step_2);
}
.p-2,
py-2,
pb-2 {
  padding-bottom: var(--space_step_2);
}

/* margin for step_2 */
.m-2,
.mx-2,
.ml-2 {
  margin-left: var(--space_step_2);
}

.m-2,
.mx-2,
.mr-2 {
  margin-right: var(--space_step_2);
}

.p-2,
.my-2,
.mt-2 {
  margin-top: var(--space_step_2);
}
.m-2,
.my-2,
.mb-2 {
  margin-bottom: var(--space_step_2);
}

/* padding for step_3 */
.p-3,
.px-3,
.pl-3 {
  padding-left: var(--space_step_3);
}

.p-3,
.px-3,
.pr-3 {
  padding-right: var(--space_step_3);
}

.p-3,
py-3,
pt-3 {
  padding-top: var(--space_step_3);
}
.p-3,
py-3,
pb-3 {
  padding-bottom: var(--space_step_3);
}

/* margin for step_3   */
.m-3,
.mx-3,
.ml-3 {
  margin-left: var(--space_step_3);
}

.m-3,
.mx-3,
.mr-3 {
  margin-right: var(--space_step_3);
}

.p-3,
.my-3,
.mt-3 {
  margin-top: var(--space_step_3);
}
.m-3,
.my-3,
.mb-3 {
  margin-bottom: var(--space_step_3);
}

/* padding for step_4 */
.p-4,
.px-4,
.pl-4 {
  padding-left: var(--space_step_4);
}

.p-4,
.px-4,
.pr-4 {
  padding-right: var(--space_step_4);
}

.p-4,
py-4,
pt-4 {
  padding-top: var(--space_step_4);
}
.p-4,
py-4,
pb-4 {
  padding-bottom: var(--space_step_4);
}

/* margin for step_4 */
.m-4,
.mx-4,
.ml-4 {
  margin-left: var(--space_step_4);
}

.m-4,
.mx-4,
.mr-4 {
  margin-right: var(--space_step_4);
}

.p-4,
.my-4,
.mt-4 {
  margin-top: var(--space_step_4);
}
.m-4,
.my-4,
.mb-4 {
  margin-bottom: var(--space_step_4);
}

/* padding for step_5 */
.p-5,
.px-5,
.pl-5 {
  padding-left: var(--space_step_5);
}

.p-5,
.px-5,
.pr-5 {
  padding-right: var(--space_step_5);
}

.p-5,
py-5,
pt-5 {
  padding-top: var(--space_step_5);
}
.p-5,
py-5,
pb-5 {
  padding-bottom: var(--space_step_5);
}

/* margin for step_5 */
.m-5,
.mx-5,
.ml-5 {
  margin-left: var(--space_step_5);
}

.m-5,
.mx-5,
.mr-5 {
  margin-right: var(--space_step_5);
}

.p-5,
.my-5,
.mt-5 {
  margin-top: var(--space_step_5);
}
.m-5,
.my-5,
.mb-5 {
  margin-bottom: var(--space_step_5);
}
.text-center { text-align:center !important; }
.text-right { text-align:right !important; }
.text-left { text-align:left !important; }


/* margin for step_6 */
.m-6,
.mx-6,
.ml-6 {
  margin-left: var(--space_step_6);
}

.m-6,
.mx-6,
.mr-6 {
  margin-right: var(--space_step_6);
}

.m-6,
.my-6,
.mt-6 {
  margin-top: var(--space_step_6);
}
.m-6,
.my-6,
.mb-6 {
  margin-bottom: var(--space_step_6);
}





/* loading box */

.div_loading_bg {
	background-color:#ffffff;
	opacity: 0.5;
	position: fixed;
    top: 5rem;
	width: calc(100vw);
 	height: calc(100vh - 10rem);
}

.div_loadingBox {
	position: fixed;
    top: 5rem;
	width: calc(100vw);
 	height: calc(100vh - 10rem);
 	padding-top: calc( (100vh - 10rem - 3rem) / 2 );
 	text-align: center;
	/*background-color:#eeeeee;*/
	background-color: transparent;
}
.div_loading {
	display: inline-block;
	border-left: 5px solid var(--color_main_gradient_1); 
	border-top: 5px solid var(--color_point_1_gradient_1); 
	border-right: 5px solid var(--color_main_gradient_2); 
	border-bottom: 5px solid var(--color_point_1_gradient_2); 
	border-radius: 50%;
	width: 3rem;
	height: 3rem;
	animation: spin 1.4s ease-in-out infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}



.line_withIcon {
	/*margin-bottom: 3rem;*/
	vertical-align: middle;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: clip;
}

.line_withIcon.topMargin {
	padding-top: 5rem;
}

.line_withIcon > i:nth-of-type(odd) {
  font-size: 0.8rem;
  color: #8bc24c;
}
.line_withIcon > i:nth-of-type(even) {
  font-size: 0.4rem;
  margin: 0 0.2rem;
  color: var(--color_main_gradient_1);
}


