:root {
  --black: #000;
  --white: #fff;
  --blue: #239dda;
  --aid-color-0: #88adaa;
  --aid-color-1: #2bab9f;
  --aid-color-2: #94d5cf;
  --aid-color-3: #afe0dc;
  --gray: #f5f5f5;
  --gray-light: #e0e0e0;
  --gray-medium: #787878;
  --dark: #3b4043;
  --danger: #dd3939e7;
  --warning: #f88111f3;
  --alert: #fff4f4;
}

/* padding */

.pt_0,
.py_0,
.p_0 {
  padding-top: 0 !important;
}

.pt_1,
.py_1,
.p_1 {
  padding-top: 0.35rem !important;
}

.pt_2,
.py_2,
.p_2 {
  padding-top: 0.7rem !important;
}

.pt_3,
.py_3,
.p_3 {
  padding-top: 1rem !important;
}

.pt_4,
.py_4,
.p_4 {
  padding-top: 1.5rem !important;
}

.pt_5,
.py_5,
.p_5 {
  padding-top: 4.2rem !important;
}

.pb_0,
.py_0,
.p_0 {
  padding-bottom: 0 !important;
}

.pb_1,
.py_1,
.p_1 {
  padding-bottom: 0.35rem !important;
}

.pb_2,
.py_2,
.p_2 {
  padding-bottom: 0.7rem !important;
}

.pb_3,
.py_3,
.p_3 {
  padding-bottom: 1rem !important;
}

.pb_4,
.py_4,
.p_4 {
  padding-bottom: 1.5rem !important;
}

.pb_5,
.py_5,
.p_5 {
  padding-bottom: 4.2rem !important;
}

.pr_0,
.px_0,
.p_0 {
  padding-right: 0 !important;
}

.pr_1,
.px_1,
.p_1 {
  padding-right: 0.35rem !important;
}

.pr_2,
.px_2,
.p_2 {
  padding-right: 0.7rem !important;
}

.pr_3,
.px_3,
.p_3 {
  padding-right: 1.4rem !important;
}

.pr_4,
.px_4,
.p_4 {
  padding-right: 1.5rem !important;
}

.pr_5,
.px_5,
.p_5 {
  padding-right: 4.2rem !important;
}

.pl_0,
.px_0,
.p_0 {
  padding-left: 0 !important;
}

.pl_1,
.px_1,
.p_1 {
  padding-left: 0.35rem !important;
}

.pl_2,
.px_2,
.p_2 {
  padding-left: 0.7rem !important;
}

.pl_3,
.px_3,
.p_3 {
  padding-left: 1.4rem !important;
}

.pl_4,
.px_4,
.p_4 {
  padding-left: 1.5rem !important;
}

.pl_5,
.px_5,
.p_5 {
  padding-left: 4.2rem !important;
}

/* margin */

.mt_0,
.my_0,
.m_0 {
  margin-top: 0 !important;
}

.mt_1,
.my_1,
.m_1 {
  margin-top: 0.35rem !important;
}

.mt_2,
.my_2,
.m_2 {
  margin-top: 0.7rem !important;
}

.mt_3,
.my_3,
.m_3 {
  margin-top: 1rem !important;
}

.mt_4,
.my_4,
.m_4 {
  margin-top: 1.5rem !important;
}

.mt_5,
.my_5,
.m_5 {
  margin-top: 4.2rem !important;
}

.mb_0,
.my_0,
.m_0 {
  margin-bottom: 0 !important;
}

.mb_1,
.my_1,
.m_1 {
  margin-bottom: 0.35rem !important;
}

.mb_2,
.my_2,
.m_2 {
  margin-bottom: 0.7rem !important;
}

.mb_3,
.my_3,
.m_3 {
  margin-bottom: 1rem !important;
}

.mb_4,
.my_4,
.m_4 {
  margin-bottom: 1.5rem !important;
}

.mb_5,
.my_5,
.m_5 {
  margin-bottom: 4.2rem !important;
}

.mr_0,
.mx_0,
.m_0 {
  margin-right: 0 !important;
}

.mr_1,
.mx_1,
.m_1 {
  margin-right: 0.35rem !important;
}

.mr_2,
.mx_2,
.m_2 {
  margin-right: 0.7rem !important;
}

.mr_3,
.mx_3,
.m_3 {
  margin-right: 1.4rem !important;
}

.mr_4,
.mx_4,
.m_4 {
  margin-right: 1.5rem !important;
}

.mr_5,
.mx_5,
.m_5 {
  margin-right: 4.2rem !important;
}

.ml_0,
.mx_0,
.m_0 {
  margin-left: 0 !important;
}

.ml_1,
.mx_1,
.m_1 {
  margin-left: 0.35rem !important;
}

.ml_2,
.mx_2,
.m_2 {
  margin-left: 0.7rem !important;
}

.ml_3,
.mx_3,
.m_3 {
  margin-left: 1.4rem !important;
}

.ml_4,
.mx_4,
.m_4 {
  margin-left: 1.5rem !important;
}

.ml_5,
.mx_5,
.m_5 {
  margin-left: 4.2rem !important;
}

.my_auto,
.mt_auto {
  margin-top: auto !important;
}

.my_auto,
.mb_auto {
  margin-bottom: auto !important;
}

.mx_auto,
.ml_auto {
  margin-left: auto !important;
}

.mx_auto,
.mr_auto {
  margin-right: auto !important;
}

.mt_n1,
.my_n1,
.m_n1 {
  margin-top: -0.35rem !important;
}

.mt_n2,
.my_n2,
.m_n2 {
  margin-top: -0.7rem !important;
}

.mt_n3,
.my_n3,
.m_n3 {
  margin-top: -1.4rem !important;
}

.mt_n4,
.my_n4,
.m_n4 {
  margin-top: -1.5rem !important;
}

.mt_n5,
.my_n5,
.m_n5 {
  margin-top: -4.2rem !important;
}

.mb_n0,
.my_n0,
.m_n0 {
  margin-bottom: -0 !important;
}

.mb_n1,
.my_n1,
.m_n1 {
  margin-bottom: -0.35rem !important;
}

.mb_n2,
.my_n2,
.m_n2 {
  margin-bottom: -0.7rem !important;
}

.mb_n3,
.my_n3,
.m_n3 {
  margin-bottom: -1.4rem !important;
}

.mb_n4,
.my_n4,
.m_n4 {
  margin-bottom: -1.5rem !important;
}

.mb_n5,
.my_n5,
.m_n5 {
  margin-bottom: -4.2rem !important;
}

.mr_n0,
.mx_n0,
.m_n0 {
  margin-right: -0 !important;
}

.mr_n1,
.mx_n1,
.m_n1 {
  margin-right: -0.35rem !important;
}

.mr_n2,
.mx_n2,
.m_n2 {
  margin-right: -0.7rem !important;
}

.mr_n3,
.mx_n3,
.m_n3 {
  margin-right: -1.4rem !important;
}

.mr_n4,
.mx_n4,
.m_n4 {
  margin-right: -1.5rem !important;
}

.mr_n5,
.mx_n5,
.m_n5 {
  margin-right: -4.2rem !important;
}

.ml_n0,
.mx_n0,
.m_n0 {
  margin-left: -0 !important;
}

.ml_n1,
.mx_n1,
.m_n1 {
  margin-left: -0.35rem !important;
}

.ml_n2,
.mx_n2,
.m_n2 {
  margin-left: -0.7rem !important;
}

.ml_n3,
.mx_n3,
.m_n3 {
  margin-left: -1.4rem !important;
}

.ml_n4,
.mx_n4,
.m_n4 {
  margin-left: -1.5rem !important;
}

.ml_n5,
.mx_n5,
.m_n5 {
  margin-left: -4.2rem !important;
}

/* flex */

.flex_r,
.flex_row_r {
  flex-direction: row-reverse !important;
}

.flex_column {
  flex-direction: column !important;
}

.jc_start {
  justify-content: flex-start !important;
}

.jc_end {
  justify-content: flex-end !important;
}

.jc_between {
  justify-content: space-between !important;
}

.jc_around {
  justify-content: space-around !important;
}

.flex_grow_0 {
  flex-grow: 0 !important;
}

.flex_grow_1 {
  flex-grow: 1 !important;
}

.flex_grow_2 {
  flex-grow: 2 !important;
}

.flex_grow_3 {
  flex-grow: 3 !important;
}

.flex_grow_4 {
  flex-grow: 4 !important;
}

.flex_shrink_0 {
  flex-shrink: 0 !important;
}

.flex_shrink_1 {
  flex-shrink: 1 !important;
}

.flex_shrink_2 {
  flex-shrink: 2 !important;
}

.flex_shrink_3 {
  flex-shrink: 3 !important;
}

.flex_shrink_4 {
  flex-shrink: 4 !important;
}

.flex_1 {
  flex: 1 !important;
}

.flex_2 {
  flex: 2 !important;
}

.flex_3 {
  flex: 3 !important;
}

.align_self_start {
  align-self: flex-start !important;
}

.align_self_end {
  align-self: flex-end !important;
}

/* order */

.order_0 {
  order: 0 !important;
}

.order_1 {
  order: 1 !important;
}

.order_2 {
  order: 2 !important;
}

.order_3 {
  order: 3 !important;
}

.order_4 {
  order: 4 !important;
}

.order_5 {
  order: 5 !important;
}

/* gap */

.gap_0 {
  gap: 0 !important;
}

.gap_1 {
  gap: 0.35rem !important;
}

.gap_2 {
  gap: 0.7rem !important;
}

.gap_3 {
  gap: 1.4rem !important;
}

.gap_4 {
  gap: 1.5rem !important;
}

.gap_5 {
  gap: 4.2rem !important;
}

/* grid */

.grid {
  display: grid !important;
}

.grid_col_1 {
  grid-template-columns: 1fr;
}

.grid_col_2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid_col_3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid_col_4 {
  grid-template-columns: repeat(4, 1fr);
}

.grid_row_1 {
  grid-template-rows: 1fr;
}

.grid_row_2 {
  grid-template-rows: repeat(2, 1fr);
}

.grid_row_3 {
  grid-template-rows: repeat(3, 1fr);
}

.grid_row_4 {
  grid-template-rows: repeat(4, 1fr);
}

.grid_auto_fit_repeat_100_1fr {
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}

.grid_auto_fit_repeat_200_1fr {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.grid_auto_fit_repeat_260_1fr {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.grid_auto_fit_repeat_300_1fr {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.grid_auto_fit_repeat_400_1fr {
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

/* position */

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.sticky {
  position: sticky;
}

.top_0 {
  top: 0;
}

.bottom_0 {
  bottom: 0;
}

.left_0 {
  left: 0;
}

.right_0 {
  right: 0;
}

.relative .stretched {
  position: static !important;
}

.stretched::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 1;
}

/* display */

.d_flex {
  display: flex;
  justify-content: space-between;
}

.d_inline_flex {
  display: inline-flex;
}

.d_inline_block {
  display: inline-block;
}

.d_block {
  display: block;
}

.d_inline {
  display: inline;
}

.d_none {
  display: none !important;
}

/* size */

.w100 {
  width: 100% !important;
}

.h100 {
  height: 100% !important;
}

/* background */

.bg_transparent {
  background-color: transparent !important;
}

.bg_alert {
  background-color: var(--alert);
}

.bg_white {
  background-color: var(--white);
}

.bg_blue {
  background-color: var(--blue);
}

.bg_gray_medium {
  background-color: var(--gray-medium);
}

.bg_gray {
  background-color: var(--gray);
}

.bg_aid0 {
  background-color: var(--aid-color-0) !important;
}

.bg_aid,
.bg_aid1 {
  background-color: var(--aid-color-1) !important;
}

.bg_aid2 {
  background-color: var(--aid-color-2) !important;
}

.bg_aid3 {
  background-color: var(--aid-color-3) !important;
}

/* border */

.border_0,
.border_none {
  border: none !important;
}

.border {
  border: 1px solid !important;
  border-color: transparent !important;
}

.border_2px {
  border-width: 2px !important;
}

.border_3px {
  border-width: 3px !important;
}

.border_top {
  border-top: 1px solid;
}

.border_bottom {
  border-bottom: 1px solid;
}

.border_right {
  border-right: 1px solid;
}

.border_left {
  border-left: 1px solid;
}

.border_color_gray {
  border-color: var(--gray) !important;
}

.border_color_gray_light {
  border-color: var(--gray-light) !important;
}

.border_color_gray_medium {
  border-color: var(--gray-medium) !important;
}

.border_color_aid1 {
  border-color: var(--aid-color-1) !important;
}

.border_top_color_aid1 {
  border-top-color: var(--aid-color-1) !important;
}

.border_bottom_color_aid1 {
  border-bottom-color: var(--aid-color-1) !important;
}

.border_right_color_aid1 {
  border-right-color: var(--aid-color-1) !important;
}

.border_left_color_aid1 {
  border-left-color: var(--aid-color-1) !important;
}

.border_color_aid2 {
  border-color: var(--aid-color-2) !important;
}

.border_top_color_aid2 {
  border-top-color: var(--aid-color-2) !important;
}

/*
.border_bottom_color_aid2 {
  border-bottom-color: var(--aid-color-2) !important;
}

.border_right_color_aid2 {
  border-right-color: var(--aid-color-2) !important;
}

.border_left_color_aid2 {
  border-left-color: var(--aid-color-2) !important;
}
*/
.radius_0 {
  border-radius: 0 !important;
}

.radius_1 {
  border-radius: 0.2rem !important;
}

.radius_2 {
  border-radius: 0.2rem !important;
}

.radius_3 {
  border-radius: 0.2rem !important;
}

.radius_4 {
  border-radius: 0.2rem !important;
}

.radius_5 {
  border-radius: 4.2rem !important;
}

/* text */

.txt_underline {
  text-decoration: underline !important;
}

.txt_ellipsis {
  text-overflow: ellipsis;
}

.txt_reset {
  color: initial !important;
}

.txt_white {
  color: var(--white) !important;
}

.txt_black {
  color: var(--black) !important;
}

.txt_dark {
  color: var(--dark) !important;
}

.txt_gray_medium {
  color: var(--gray-medium) !important;
}

.txt_aid {
  color: #023894 !important;
  font-size: 18px;
}

.txt_danger {
  color: var(--danger) !important;
}

.txt_warning {
  color: var(--warning) !important;
}

.line_height_2x {
  line-height: 2;
}

.fs10 {
  font-size: 1rem;
}

.white_space_nowrap {
  white-space: nowrap;
}

/* overflow */

.ofx_scroll {
  overflow-x: scroll;
}

.ofy_scroll {
  overflow-y: scroll;
}

.overflow_hidden {
  overflow: hidden;
}

/* effect */

.transition_0\.3 {
  transition: 0.3s;
}

.hover {
  transition: 0.3s;
}

table.hover tbody tr:hover {
  opacity: 0.6;
}

.hover.hover_txt_white:hover {
  color: #fff !important;
}

.hover.hover_bg_aid:hover,
.hover.hover_bg_aid1:hover {
  opacity: 1;
  background-color: var(--aid-color-1) !important;
}

.hover.hover_bg_aid2:hover {
  background-color: var(--aid-color-2) !important;
}

.hover.hover_bg_aid3:hover {
  background-color: var(--aid-color-3) !important;
}

.hover.hover_bg_gray:hover {
  background-color: var(--gray) !important;
}

.hover.hover_60:hover {
  opacity: 0.6 !important;
}

.hover.hover_up {
  transform: translateY(0);
}

.hover.hover_up:hover {
  transform: translateY(-5px);
}

.hover.hover_cap_aid_1 {
  position: relative;
}

.hover.hover_cap_aid_1:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 4px;
  background-color: var(--aid-color-2);
}

.hover.hover_cap_aid_1.in_view::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 4px;
  background-color: var(--aid-color-1);
}

.hover_outline_aid:hover,
.hover_outline_aid_1:hover {
  border-color: transparent !important;
  outline: var(--aid-color-1) 4px solid !important;
}

.hover_outline_aid_2:hover {
  outline: var(--aid-color-2) 3px solid;
}

.outline_aid {
  outline: var(--aid-color-1) 3px solid !important;
}

/* other */

.cursor,
.cursor_pointer {
  cursor: pointer;
}

.cursor_not_allowed {
  cursor: not-allowed;
}

.list_style_disc {
  list-style: disc;
}

.shadow_sm {
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
}