/* ========================= ========================= ========================= ========================= ========================= =========================
***
* please make sure all layout css inside @layer layout {}
***
* please make sure all layout css inside @layer layout {}
* please make sure all layout css inside @layer layout {}
* Use CSS @layer
* Use CSS @layer
* Use CSS @layer
***
 ========================= ========================= ========================= ========================= ========================= =========================*/

@layer layout {

  /* ========================= ========================= ========================= ========================= ========================= =========================
***
* SECTION FOR grid system 
***
* A paragraph with information
* that would be useful for someone
* who didn't write the code.
* The asterisks around the paragraph 
* help make it more readable.
***
 ========================= ========================= ========================= ========================= ========================= =========================*/
  .wrap {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    background: #fff;
    /*visibility: hidden;*/
    position: relative;
    z-index: 2000;
  }

  .main_content>h2:first-child {
    margin-top: 0;
  }

  .wrap .container {
    clear: both;
  }

  .subMenuFlex {
    position: relative;
    z-index: 99;
    padding-bottom: 4rem;
    min-height: 60rem;
  }

  .subMenuVersion .subMenuFlex {
    margin-left: auto;
    margin-right: auto;
  }

  .subMenuVersion .subMenuFlex .container {
    display: flex;
    align-items: flex-start;
    /*padding-left: 8%;
  padding-right: 8%;*/
  }

  .content_area {
    font-size: 1.125rem;
  }

  .content_area .anchor:first-child+h2:nth-child(2),
  .content_area h2:first-child {
    margin-top: 0;
  }

  .subMenuVersion .content_area {
    padding-left: 8.2%;
    /*padding-right: 12%;*/
    /* margin-left: 20.9375vw; */
    width: 83%;
  }

  body:not(.indexVersion) .content_area {
    min-height: 31.25rem;
  }

  .body_area {
    background: #fff;
    z-index: 3000;
    position: relative;
    padding-top: 3rem;
    font-size: .95rem;
  }

  .body_area::after {
    content: '';
    display: block;
    width: 75%;
    aspect-ratio: 1600 / 510;
    background-image: url(../images/inner_page_background.svg);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    bottom: 0;
    z-index: -10;
  }

  .indexVersion .body_area {
    background: transparent;
    padding-top: 0;
  }

  body:not(.indexVersion):not(.subMenuVersion) .body_area .container {
   
  }
}

@layer layout {

  /* ========================= ========================= ========================= ========================= ========================= =========================
***
* SECTION FOR breadcrumb 
***
* A paragraph with information
* that would be useful for someone
* who didn't write the code.
* The asterisks around the paragraph 
* help make it more readable.
***
 ========================= ========================= ========================= ========================= ========================= =========================*/
  .breadcrumb_bigwrap {
    padding-top: 2.25rem;
    padding-bottom: 3.25rem;

    position: relative;
    z-index: 300;
  }

  .breadcrumb {
    font-size: 1rem;
    padding-left: 0;
    padding-top: 0;
    padding-bottom: 0;
    background: none;
    font-weight: 400;
    margin-bottom: 0;
    display: block;
  }

  .breadcrumb ul,
  .breadcrumb li {
    list-style: none;
  }

  .breadcrumb ul {
    padding: 0;
    margin: 0;
  }

  .breadcrumb li {
    margin-right: .25rem;
    display: inline;
    color: #000;
  }

  .breadcrumb ul>li:last-child {}

  .breadcrumb a {
    text-decoration: none;
    color: inherit;
  }

  .breadcrumb a:hover,
  .breadcrumb a:focus {
    color: #003e6f;
    text-decoration: underline;
  }

  .breadcrumb li>* {
    padding-right: .5rem;
  }

  .breadcrumb .sign {}
}

@layer layout {
  .langTool {
    /*display: none;
  position: absolute;
  top: 5rem;
  left: 50%;
  transform: translateX(-50%);*/
  }

  .langTool::before {
    /*content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-left: .5rem solid transparent;
  border-right: .5rem solid transparent;
  border-bottom: .5rem solid #000;
  top: -0.5rem;
  display: block;
  left: 50%;
  transform: translateX(-50%);*/
  }

  .langTool ul {
    padding-left: 0;
    list-style-type: none;
    margin-bottom: 0;
    display: flex;
    column-gap: 1.2rem;
  }

  .langTool li {
    margin-bottom: 0;
    display: block;
    font-size: 1rem;
  }

  .langTool ul>li:not(:last-child) {}

  .langTool li a {
    color: inherit;
  }

  .langTool li a:hover {

    text-decoration: underline;
  }

  .language_btn img {
    display: inline-block;
  }

  .langtitlestyle {
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
  }
}

@layer layout {

  .menu_plus>span:before,
  .menu_plus>span:after {
    content: "";
    display: block;
    background: var(--menu1_text_color);
  }

  .menu_plus>span:before {
    width: 100%;
    height: 2px;
  }

  .menu_plus>span:after {
    width: 2px;
    height: 100%;
    position: absolute;
  }
}

@layer layout {
  .nav_menu {
    width: 100%;
    height: 100%;
  }


  .nav_menu .nav_link_wrap {
    position: relative;
    height: 100%;
  }

  .nav_menu .nav_item_lv0.firstLi {
    display: none;
  }


  .nav_menu .nav_item_lv0 {
    position: relative;

    width: auto;
    text-align: left;
    background-repeat: no-repeat;
    margin-bottom: 0;
  }

  .nav_menu .menu_lv0 {
    margin: 0 auto;
    padding: 0;
    list-style-type: none;
    height: 100%;
    display: flex;
    justify-content: flex-end;
  }

  .chineseVersion .nav_menu .nav_item_lv0:not(:has(+.disable), .link_btn_wrap) {
    padding-right: clamp(2rem, 3vw, 5rem);
  }

  .englishVersion .nav_menu .nav_item_lv0:not(:has(+.disable), .link_btn_wrap) {
    padding-right: clamp(1rem, 1vw, 3rem);
  }

  .extmenu_title {
    display: none;
  }

  .nav_menu .extmenu_lv0 {
    max-height: 70dvh;
    opacity: 1;
    display: none;
    /*overflow: hidden;*/
    position: absolute;
    width: 22rem;
    top: 100%;
    left: 0;
    background: var(--main_theme_color);
    /* box-shadow: 0 0 .75rem -2px #000; */
    box-shadow: 0 4px 10px -6px rgba(0, 0, 0, .55);
  }

  .nav_menu .nav_item_lv0.open .extmenu_lv0 {
    /*opacity: 1;
  max-height: 300px;*/
    display: block;
  }

  .menu_lv0>li.use_right_position>.extmenu {
    right: 0;
    left: auto;
  }

  .nav_menu .nav_link_lv0.firstLi {
    display: none;
  }

  .nav_menu .nav_link_lv0 {

    font-weight: 500;
    position: relative;
    margin: 0;
    padding-bottom: 1rem;
    display: flex;
    align-items: center;
    height: 100%;
    text-decoration: none;
    line-height: 1.1428;
    color: var(--blue_600);
  }



  .chineseVersion .nav_menu .nav_link_lv0 {
    /*-webkit-text-stroke: .3px currentColor;*/
    font-weight: 600;
  }

  .nav_menu .icon_before .nav_link_lv0 {
    column-gap: .5rem;
  }

  .nav_menu .icon_before .nav_link_lv0:before {
    content: '';
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: var(--icon);
    flex-shrink: 0;
    flex-grow: 0;
    filter: var(--green_100_filter);
  }

  .nav_menu .icon_directory_before {
    --icon: url('../images/icon/icon_directory.svg');
  }

  .nav_menu .icon_entre_base_before {
    --icon: url('../images/icon/icon_entre_base.svg');
  }

  .nav_menu .icon_activities_before {
    --icon: url('../images/icon/icon_activities.svg');
  }

  .nav_menu .icon_book_before {
    --icon: url('../images/icon/icon_book.svg');
  }

  .nav_menu .menu_plus_lv0 {
    display: none;
  }

  .nav_menu .menu_lv1 {
    list-style: none;
  }

  .nav_menu .nav_item_lv1 {
    margin-bottom: 0;
  }

  .nav_menu .nav_link_lv1::before {
    content: "";
    /*min-width: 8px;
  min-height: 8px;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: #007C6C;
  display: inline-block;
  position: absolute;
  left: 0;
  top:1rem;*/
  }

  .nav_menu .nav_link_lv1 {
    display: block;
    text-align: left;
    padding-top: .95rem;
    padding-bottom: .95rem;
    padding-left: 1.75rem;
    padding-right: 3rem;
    font-size: 1.125rem;
    background: var(--menu1_bg_color);
    color: var(--menu1_text_color);
    position: relative;
    border-bottom: 1px solid #0a935b;
  }

  .nav_menu .nav_link_wrap:hover .nav_link_lv1,
  .nav_menu .nav_link_wrap:has(.nav_link_lv1:focus),
  .nav_menu .nav_link_wrap:has(.menu_plus_lv1:focus),
  .nav_menu .nav_item_lv1.open .nav_link_lv1 {
    background: var(--menu1_active_bg_color);
    color: var(--menu1_active_text_color);
  }

  .nav_menu .nav_link_lv1 .myText {
    display: inline-block;
  }

  .nav_menu .nav_link_lv1:hover .myText:after,
  .nav_menu .nav_link_lv1:focus .myText:after {
    /*width: 100%;*/
  }

  .nav_menu .extmenu_lv1 {
    position: relative;
    transition: max-height .3s ease-in-out;
    max-height: 0;
    overflow: hidden;
  }

  .nav_menu .nav_item_lv1.open .extmenu_lv1 {
    max-height: 10000px;
  }

  .nav_menu .nav_link_lv1 {
    position: relative;
    width: 100%;
    /*margin-bottom: 2.3rem;*/
    /*width: 33.33333%;*/
  }

  .nav_menu .menu_plus_lv1 {
    width: .75rem;
    height: 100%;
    position: absolute;
    right: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    z-index: 50;
  }

  .nav_menu .menu_plus_lv1>span {
    width: .75rem;
    height: .75rem;
    position: relative;
    left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .nav_item_lv1.open .menu_plus_lv1>span:after {
    width: 0;
    height: 0;
  }

  .hidden_sub_menu>a>.menu_plus {
    display: none;
  }

  .nav_menu .extmenu_lv2 {
    display: none;
  }

  .nav_menu .menu_lv2 .nav_item {
    margin-bottom: 0;
  }

  .nav_menu .nav_link_lv2 {
    font-size: 1rem;
    display: block;
    background: var(--menu2_bg_color);
    color: var(--menu2_text_color);
    padding-left: 3.5rem;
    padding-right: 3rem;
    padding-top: .75rem;
    padding-bottom: .75rem;
    position: relative;
    line-height: 1.4em;
  }

  .nav_menu .nav_link_lv2::before {
    content: "";
    width: .5rem;
    height: .5rem;
    background: var(--menu2_text_color);
    border-radius: 50%;
    position: absolute;
    left: 2.3rem;
    top: 1.3rem;
  }

  .nav_menu .nav_link_lv2:hover,
  .nav_menu .nav_link_lv2:focus {
    background: var(--menu2_hover_bg_color);
    color: var(--menu2_hover_text_color);
  }

  .nav_menu .nav_link_lv2:hover::before,
  .nav_menu .nav_link_lv2:focus::before {
    background: var(--menu2_hover_text_color);
  }

  .nav_menu .share_btn {
    display: none;
  }
}

@layer layout {

  /* ========================= ========================= ========================= ========================= ========================= =========================
***
* SECTION FOR header 
***
* A paragraph with information
* that would be useful for someone
* who didn't write the code.
* The asterisks around the paragraph 
* help make it more readable.
***
 ========================= ========================= ========================= ========================= ========================= =========================*/
  .header_inner {
    width: 100%;
    /*height: 110px;*/
    display: grid;
    grid-template-areas: "logo client" "logo nav";
    justify-content: space-between;
    column-gap: 1.3rem;
    position: relative;
    grid-template-columns: 20% 1fr;
  }

  .myLogo {
    height: auto;
    padding-top: .7rem;
    padding-bottom: 1.7rem;
    display: flex;
    align-items: center;
    grid-area: logo;
  }

  .big_clientTool {
    display: inline-block;
    margin-top: 1rem;
    margin-bottom: 1.5rem;
    grid-area: client;
  }

  .clientTool {
    display: flex;
    justify-content: flex-end;
    column-gap: 1.2rem;
  }

  .clientTool .langtitlestyle {
    display: none;
  }

  .clientTool .tool_item_btn:not(.tool_item_btn2) {
    height: 100%;
    border-radius: 100vw;
    padding-left: .75rem;
    padding-right: .75rem;
  }

  .clientTool a {
    color: #000;
  }

  .tool_item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .tool_item::after {
    content: "";
    /* 	width: 1px;
  height: 1.5rem;
  background: #b7b7b7; */
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
  }

  .tool_item_last:after {
    width: 0;
    height: 0;
  }



  .tool_item_btn,
  .mobSearch a {
    border: 1px solid var(--grey_200);
    background: var(--grey_70);
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .tool_item_btn:hover,
  .mobSearch a:hover,
  .shareTool.active .share_btn {
    color: #fff;
    background: var(--main_blue_600);
  }

  .tool_item_btn2 {
    width: 2.5rem;
    height: 2.5rem;
    flex-shrink: 0;
    flex-grow: 0;
    border-radius: 50%;
  }

  .tool_item img {
    filter: var(--grey_600_filter);
    max-width: 65%;
  }

  .tool_item_btn:hover img,
  .tool_item:not(.language)>a:hover img,
  .mobSearch a:hover img,
  .shareTool.active .share_btn img {
    filter: var(--white_filter);
  }

  .tool_item .moblang {
    display: none;
  }


  .header_area ul {
    margin: 0;
    padding-left: 0;
  }

  .header_area {
    background: #fff;
    width: 100%;
    position: fixed;
    z-index: 7000;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, .25);
    transition: box-shadow 1s ease-in-out, transform .3s ease-in-out;
  }


  .header_area.nav_sticky {
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, .15);
    box-shadow: 0 0 3px rgba(0, 0, 0, .15);
  }


  .header_area.hide_header {
    transform: translateY(-200%);
  }


  .headerTop {
    grid-area: nav;
    display: flex;
    justify-content: flex-end;
    column-gap: 1.5rem;
  }

  /*header section end*/
}

@layer layout {
  .links_tool {
    display: flex;
    align-items: center;
    column-gap: .75rem;
  }


  .links_tool .link_btn_wrap {
    margin-bottom: 1rem;
  }

  .nav_menu .link_btn_wrap:not(:has(+.disable)) {
    padding-right: .75rem;
  }


  .nav_menu .link_btn_wrap .nav_link_wrap {
    padding-bottom: 1rem;
  }

  .nav_menu .link_btn_wrap .nav_link_lv0{
    white-space: nowrap;
  }


  .nav_menu .link_btn_wrap .nav_link_lv0,
  .nav_menu .link_btn {

    font-weight: 600;
    background: var(--grey_100);
    color: var(--blue_600);
    padding-left: 1.3rem;
    padding-right: 1.3rem;
    padding-top: .25rem;
    padding-bottom: .25rem;
    text-align: center;
    border-radius: 100vw;
  }

  .nav_menu .link_btn_wrap .nav_link_lv0:hover,
  .nav_menu .link_btn_wrap .nav_link_lv0:hover,
  .nav_menu .link_btn:hover,
  .nav_menu .link_btn:focus {
    background: var(--blue_100);
  }

  .englishVersion .nav_menu .nav_link_lv0,
  .englishVersion .nav_menu .link_btn_wrap .nav_link_lv0,
  .englishVersion .nav_menu .link_btn {
    font-size: .88rem;
  }


  .chineseVersion .nav_menu .nav_link_lv0,
  .chineseVersion .nav_menu .link_btn_wrap .nav_link_lv0,
  .chineseVersion .nav_menu .link_btn {
    font-size: 1.3rem;
  }

}


@layer layout {

  /*share section start*/
  .shareList {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    text-align: left;
    z-index: 9000;
    min-width: 3.2rem;
    box-shadow: 0 .25rem .25rem rgba(29, 29, 29, .2);
    padding-bottom: 8px;

    background: #fff;
    border-bottom-left-radius: .625rem;
    border-bottom-right-radius: .625rem;
  }

  .shareList.active {
    border-top: 0;
  }

  .shareTool.active .shareList {
    display: block;
  }

  .shareTool.active .shareList:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: -7px;
  }

  .social_media_btn {
    position: relative;
    margin-top: .9375rem;
  }

  .social_media_btn {
    list-style-type: none;
    margin: 0;
    padding: 0;
  }

  .social_media_btn>li {
    display: block;
  }

  .social_media_btn a {
    font-size: 0;
  }

  .social_media_btn__btn {
    display: block;
    vertical-align: top;
    width: 100%;
    padding-top: .5rem;
    padding-bottom: .5rem;
    position: relative;
  }

  .social_media_btn__btn:before {
    content: "";
    width: 1.8rem;
    height: 1.8rem;
    display: block;
    margin-left: auto;
    margin-right: auto;
    background-size: 100%;
    transition: .2s;
  }


  .social_media_btn__btn:hover::before,
  .social_media_btn__btn:focus::before {}


  .social_media_btn__btn--email:before {
    background-image: url(../images/share/social_media_mail2.svg);
  }

  .social_media_btn__btn--fb:before {
    background-image: url(../images/share/social_media_facebook2.svg);
  }

  .social_media_btn__btn--wa:before {
    background-image: url(../images/share/social_media_whatsapp.svg);
  }

  .social_media_btn__btn--wb:before {
    background-image: url(../images/share/social_media_weibo.svg);
  }

  .social_media_btn__btn--wc:before {
    background-image: url(../images/share/social_media_wechat.svg);
  }

  .social_media_btn__btn--tw:before {
    background-image: url(../images/share/social_media_x_code.svg);
  }

  .social_media_btn__btn--qr:before {
    background-image: url(../images/share/icon-qr-code.png);
  }

  .shareTool {
    position: relative;
  }
}

@layer layout {

  /* ========================= ========================= ========================= ========================= ========================= =========================
***
* SECTION FOR footer 
***
* A paragraph with information
* that would be useful for someone
* who didn't write the code.
* The asterisks around the paragraph 
* help make it more readable.
***
 ========================= ========================= ========================= ========================= ========================= =========================*/
  .footer_area .container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  body:not(.indexVersion) .footer_area {}

  .footer_area1 {
    position: relative;
    padding-top: 3rem;
    background: var(--blue_500);
  }

  .footer_area2 {
    background: var(--blue_500);
    color: #fff;
    padding-top: 1.7rem;
    padding-bottom: 3rem;
    font-size: .95rem;
  }

  .footer_row .logo {
    text-align: center;
    margin-bottom: 1.25rem;
  }


  .footerMenuArea {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    /*justify-content: space-evenly;*/
    justify-content: space-between;
    font-size: 1rem;
    transition: all .3s ease-in-out;
    column-gap: 2rem;
  }

  .footer_area1:not(.sitemap_menu_active) .footerMenuArea {
    max-height: 0;
    opacity: 0;
    padding-bottom: 0;
  }


  .footer_area .info>* {
    display: inline-block;
  }

  .footer_area .fTool {
    list-style-type: none;
    padding: 0;

    margin-left: 0;
    margin-bottom: 0;
    margin-top: 0;
    display: flex;
    flex-wrap: wrap;
    row-gap: .625rem;
  }

  .footer_area .fTool>li {
    --item_padding: 1.125rem;
    display: inline-block;
    margin-bottom: 0;
    position: relative;
    column-gap: var(--item_padding);
  }

  .footer_area .fTool>li:not(:last-child):after {
    content: "";
    display: block;
    width: 1px;
    height: 1rem;
    background: var(--grey_200);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  .footer_area .fTool li:not(:first-child):not(:last-child)>* {
    padding-left: var(--item_padding);
    padding-right: var(--item_padding);
  }

  .footer_area .fTool>li:first-child>* {
    padding-right: var(--item_padding);
  }

  .footer_area .fTool>li:last-child>* {
    padding-left: var(--item_padding);
  }

  .footer_area .fTool a {
    color: inherit;
  }

  .footer_area .copyright {
    width: 50%;
    text-align: right;
  }

  .footer_area .footer_row {
    display: grid;
    grid-auto-flow: column;
    column-gap: 1rem;
    justify-content: space-between;
    align-items: center;
  }

  .footer_area .footer_icon {}

  .footer_area .footer_icon>div {
    display: inline-block;
    vertical-align: middle;
    padding-right: .625rem;
  }

  .footer_area .footer_icon>div:last-child {
    padding-right: 0;
  }

  .footer_area .brandhk {
    padding-right: 0;
  }

  .footer_area .updateDate {}

  .footer_area .info:not(:first-child) {
    margin-top: .5rem;
  }

  .footer_menu {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
  }

  .footer_menu .menu_plus {
    display: none;
  }

  .footer_menu a {
    text-decoration: none;
    color: #fff;
    font-weight: 400;
  }

  .footer_menu a:hover {
    text-decoration: underline;

  }

  .footer_menu a .menu_plus {
    display: none;
  }

  .footer_menu .menu_lv0 {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
  }

  .footer_menu .nav_item_lv0 {
    list-style-type: none;
    margin-bottom: 0;
    display: block;
  }

  .footer_menu .nav_item_lv0:not(:first-child) {
    margin-top: 2.75rem;
  }

  .footer_menu .extmenu a {
    display: block;
    margin: 0;
  }

  .footer_menu .nav_link_lv0 {
    position: relative;

    display: block;
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: .5rem;
  }

  .footer_menu .nav_link_lv0:hover,
  .footer_menu .nav_link_lv0:focus {
    text-decoration: underline;

    cursor: pointer;
  }

  .footer_menu .extmenu {
    font-size: var(--footer_menu1_fontsize);
  }

  .footer_area .menu_lv1 {
    padding-left: 1.2rem;
    list-style: none;
  }

  .footer_area .nav_item_lv1 {
    padding-left: 1rem;
    position: relative;
  }

  .footer_area .nav_item_lv1::before {
    content: "";
    width: .35rem;
    height: .35rem;
    min-width: 4px;
    min-height: 4px;
    background: #333;
    display: inline-block;
    border-radius: 50%;
    position: absolute;
    top: calc(var(--footer_menu1_fontsize) / 2);
    left: 0;
  }

  .footer_area .extmenu_lv1 {
    display: none;
  }

  .footer_left {}

  .footer_right {
    display: flex;
  }
}

@layer layout {
  .sitemap_btn_wrap2 {
    margin-bottom: 2rem;
    text-align: center;
  }

  .sitemap_btn_wrap2 button {
    display: flex;

    text-align: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;

    align-items: center;
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 1.5rem;
    column-gap: .5rem;
  }

  .sitemap_btn_wrap2 button>span {
    line-height: 1;
  }

  .sitemap_btn_wrap2 button::after {
    content: '';
    display: block;
    width: 1rem;
    aspect-ratio: 1.2 / 0.75;
    background-image: url(../images/icon/icon_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    filter: var(--white_filter);

    transition: all .3s ease-in-out;
  }

  .sitemap_btn_wrap2 button:hover,
  .sitemap_btn_wrap2 button:focus {
    cursor: pointer;
  }

  .sitemap_btn_wrap2 button:hover::after,
  .sitemap_btn_wrap2 button:focus::after {}

  .sitemap_menu_active .sitemap_btn_wrap2 button::after {
    transform: rotate(180deg);
  }
}

@layer layout {

  /*
***
* SECTION FOR top button 
***
* A paragraph with information
* that would be useful for someone
* who didn't write the code.
* The asterisks around the paragraph 
* help make it more readable.
***/
  .bottom_nav {
    position: relative;
    z-index: 6000;
    text-align: right;
  }

  .top_btn {
    display: block;
    position: fixed;
    right: 25px;
    bottom: 20px;
    transition: opacity .4s ease-in-out;
    opacity: 0;
  }

  .top_btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 3.25rem;
    height: 3.25rem;
    background: var(--main_blue_300);
    border-radius: 50%;
  }

  .top_btn a:before {
    content: "";
    display: block;
    width: 45%;
    height: 45%;
    background-image: url(../images/icon/icon_top.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
  }

  .top_btn a:hover,
  .top_btn a:focus {
    background: var(--main_blue_400);
  }

  .top_btn a:hover,
  .top_btn a:focus {
    text-decoration: none;
  }

  .footer_area1.show_topBtn .top_btn {
    opacity: 1;
  }

  .footer_area1.in_view .top_btn {
    position: absolute;
    bottom: 1rem;
  }
}

@layer layout {

  /* ========================= ========================= ========================= ========================= ========================= =========================
***
* SECTION FOR left menu 
***
* A paragraph with information
* that would be useful for someone
* who didn't write the code.
* The asterisks around the paragraph 
* help make it more readable.
***
 ========================= ========================= ========================= ========================= ========================= =========================*/
  .left_menu {
    width: 22%;
    max-width: 402px;
    background: var(--left_menu_bg_color);
    box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, .15);
  }

  .left_menu .menu_plus {
    display: none;
  }

  .left_menu .hidden_sub_menu .arrow {
    display: none;
  }

  .left_menu .arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 2.5rem;
    height: 100%;
    right: 0;
    top: 0;
  }

  .left_menu .arrow::after {
    content: "";
    background-image: url(../images/icon/icon_prev.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: block;
    width: 1.5rem;
    aspect-ratio: 1.5/1;
    transform: rotate(-90deg);
    transition: transform .3s ease-in-out;
  }

  .left_menu .extmenu {
    transition: .3s max-height ease-in-out;
    max-height: 0;
    overflow: hidden;
  }

  .left_menu .open>.extmenu {
    max-height: 10000px;
  }

  .left_menu .open>.nav_link_wrap>.arrow::after {
    transform: rotate(90deg);
  }

  .left_menu .inner {
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0;
  }

  .left_menu .nav_link_wrap {
    position: relative;
  }

  .left_menu .nav_item_lv0 {
    display: block;
    list-style-type: none;
    margin-bottom: 0;
  }

  .left_menu .nav_link_lv0 {
    font-size: var(--left_menu_menu1_fontsize);
    font-weight: 400;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 1.5rem;
    padding-right: 3rem;
    color: var(--left_menu_menu0_text_color);
    border-bottom: 1px solid #cdcdcd;
    display: block;
    position: relative;
  }

  .left_menu .nav_link_lv0:hover,
  .left_menu .nav_link_lv0:focus,
  .left_menu .nav_link_wrap:has(.arrow_lv0:hover) .nav_link_lv0,
  .left_menu .nav_link_wrap:has(.arrow_lv0:focus) .nav_link_lv0 {
    text-decoration: none;
    background: var(--left_menu_menu0_hover_bg_color);
    border-color: transparent;
    color: var(--left_menu_menu0_hover_text_color);
  }

  .left_menu .nav_item_lv0:has(.nav_link_lv0:hover) .arrow_lv0,
  .left_menu .nav_item_lv0:has(.nav_link_lv0:focus) .arrow_lv0,
  .left_menu .arrow_lv0:hover,
  .left_menu .arrow_lv0:focus,
  .left_menu .nav_item_lv0.open .arrow_lv0 {
    filter: var(--white_filter);
  }

  .left_menu .nav_item_lv0.open .nav_link_lv0,
  .left_menu .nav_link_lv0.active_section {
    background: var(--left_menu_menu0_active_bg_color);
    color: var(--left_menu_menu0_active_text_color);
  }

  .left_menu .nav_item_lv0.open>a,
  .left_menu .nav_link_lv0.active_section {
    background: var(--left_menu_menu0_active_bg_color);
    color: var(--left_menu_menu0_active_text_color);
  }

  .left_menu .nav_item_lv0.open>a .arrow,
  .left_menu .nav_link_lv0.active_section>.arrow {
    filter: var(--white_filter);
  }

  .left_menu .menu_lv1 {
    padding-left: 0;
  }

  .left_menu .menu_lv1>li {
    list-style-type: none;
  }

  .left_menu .nav_link_lv1 {
    font-size: .98rem;
    font-weight: 400;
    display: block;
    color: var(--left_menu_menu1_text_color);
    padding-right: 1.3rem;
    padding-left: 3.5rem;
    padding-top: var(--left_menu_menu1_padding_top);
    padding-bottom: var(--left_menu_menu1_padding_bottom);
    position: relative;
  }

  .left_menu .nav_link_lv1::before {
    content: "";
    display: block;
    width: .4rem;
    height: .4rem;
    min-width: 6px;
    min-height: 6px;
    background: var(--left_menu_menu1_text_color);
    left: 2.2rem;
    top: calc(var(--left_menu_menu1_fontsize) / 2 + var(--left_menu_menu1_padding_top));
    position: absolute;
    border-radius: 50%;
  }

  .left_menu .nav_link_lv1.active_section::before {
    background: var(--left_menu_menu1_active_text_color);
  }

  .left_menu .nav_link_lv1.active_section {
    color: var(--left_menu_menu1_active_text_color);
  }

  .left_menu .arrow_lv1::after {
    width: 1.25rem;
  }

  .left_menu .menu_lv2 {
    font-size: var(--leftmenu_menu2_fontsize);
    padding-left: 5rem;
  }

  .left_menu .hidden_sub_menu>.excLi>.arrow {
    display: none;
  }

  .left_menu .hidden_sub_menu>.extmenu {
    display: none;
  }


  .mobile_left_menu {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    height: 100%;
    transition: transform .5s ease-in-out, opacity .4s;
    opacity: 0;
    transform: translateX(-100%);
    background: var(--grey_50);
    z-index: 3500;

    max-width: 350px;
    -webkit-box-shadow: 0 0 4px 2px rgba(40 40 40 / 20%);
    -moz-box-shadow: 0 0 4px 2px rgba(40, 40, 40, .2);
    -ms-box-shadow: 0 0 4px 2px rgba(40, 40, 40, .2);
    box-shadow: 0 0 4px 2px rgba(40 40 40 / 20%);
  }

  .mobile_left_menu.active {
    opacity: 1;
    transform: translateX(0);
  }


  .mobile_left_menu .leftMenu2 {
    width: 100%;
    max-width: none;
    opacity: 1;
    overflow-y: auto;
    max-height: 90dvh;
  }

  .mobile_left_menu .left_menu {
    width: 100%;
    max-width: none;
    background: transparent;
    box-shadow: none;
  }

  .mobile_left_menu .cross_btn {
    margin-top: 1rem;
    display: block;
    padding-right: 1.3rem;
    margin-bottom: 1rem;
  }

  .mobile_left_menu .cross_btn a {
    color: #000;
    justify-content: flex-end;
  }

  .mobile_left_menu .cross_btn a>span:last-child:before,
  .mobile_left_menu .cross_btn a>span:last-child:after {
    background: #000;
  }

}

@layer layout {

  /* ========================= ========================= ========================= ========================= ========================= =========================
***
* SECTION FOR mobile menu
***
* A paragraph with information
* that would be useful for someone
* who didn't write the code.
* The asterisks around the paragraph 
* help make it more readable.
***
 ========================= ========================= ========================= ========================= ========================= =========================*/
  .menu_section {
    padding-left: 1.818181rem;
    padding-right: 1.818181rem;
  }

  .menu_section:not(.row) {
    overflow-y: auto;
  }

  .menu_section.row {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    justify-content: space-between;
    align-items: flex-end;
  }

  .toggle_menu {
    color: #000;
    transition: transform 0.5s;
    background: #fff;
    width: 100%;
    height: 100dvh;
    transform: translateX(105%);
    position: fixed;
    z-index: 8000;
    top: 0;
    right: 0;
    max-width: 34rem;
    display: grid;
    grid-template-rows: max-content 1fr;
  }

  .toggle_menu .cross_btn {
    margin-left: auto;
  }

  .ieVersion .toggle_menu {
    transition: none;
  }

  .toggle_menu .search_btn {}

  .mobile_menu_active .mobile_menu,
  .search_menu_active .search_menu,
  .lang_menu_active .lang_menu {
    transform: translateX(0);
    -ms-box-shadow: 0 0 4px 2px rgba(40, 40, 40, .2);
    box-shadow: 0 0 4px 2px rgba(40, 40, 40, .2);
  }


  .mobile_menu .share_btn {
    display: none;
  }

  .mobile_menu .shareList {
    margin-top: 1rem;
    display: block;
    position: static;
    border: 0;
    box-shadow: none;
    background: none;
    padding-bottom: 0;
  }

  .mobile_menu .social_media_btn {
    display: flex;
    flex-wrap: wrap;
  }

  .mobile_menu .social_media_btn>li {
    margin-right: 1rem;
  }

  .mobile_menu .langTool {
    display: none;
  }

  .mobile_menu .langTool a {
    font-size: 1.4rem;
    font-weight: bold;
  }

  .mobile_menu .menuwrapper {
    overflow-y: auto;
    height: calc(100% - 5.75rem);
  }

  .mobile_menu .extmenu_title {
    display: none;
  }

  .mobile_menu .nav_item {
    margin-bottom: 0;
  }

  .mobile_menu .nav_link_wrap {
    position: relative;
  }

  .mobile_menu .hidden_extmenu .menu_plus {
    display: none;
  }

  .mobile_menu .menu_plus_lv0 {
    display: none;
  }

  .mobile_menu .menu_lv0 {
    list-style-type: none;
    padding-left: 0;
    margin-bottom: 0;
    border-top: 1px solid #fff;
  }

  .mobile_menu .nav_item_lv0 {
    margin-bottom: 0;
  }

  .mobile_menu .nav_link_lv0 {
    font-size: 1.4rem;
    font-weight: 500;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-right: 2.8rem;
    text-align: left;
    text-decoration: none;
    position: relative;
    color: inherit;
    display: block;
    float: none;
    width: 100%;
    border-bottom: 1px solid var(--grey_400);
  }

  .mobile_menu .arrow_lv0 {
    width: 2.5rem;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
  }

  .mobile_menu .arrow_lv0:after {
    content: "";
    display: block;
    width: 1.5rem;
    height: 1.25rem;
    background-image: url(../images/icon/icon_prev2.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    transform: rotate(-90deg);
    transition: all .3s ease-in-out;
  }

  .mobile_menu .nav_item_lv0.open .arrow_lv0:after {
    transform: rotate(-270deg);
  }

  .mobile_menu .nav_link_lv0.excLi .menu_plus {
    display: none;
  }

  .mobile_menu .extmenu {
    position: static;
    max-height: 0;
    transition: max-height .5s;
    overflow: hidden;
    display: block;
    width: 100%;
    background: transparent;
    box-shadow: none;
  }

  .mobile_menu .open>.extmenu {
    max-height: 3000px;
  }

  .mobile_menu .menu_lv1 {
    padding-left: 0;
  }

  .mobile_menu .nav_link_lv1 {
    font-size: 1.125rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 1.5rem;
    padding-right: 3rem;
    text-align: left;
    text-decoration: none;
    color: inherit;
    display: block;
    position: relative;
    background: var(--blue_100);
  }

  .mobile_menu .menu_plus_lv1 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    /* top: 1.3rem; */
  }

  .mobile_menu .menu_plus_lv1>span {
    position: relative;
    left: auto;
    width: .75rem;
    height: .75rem;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .mobile_menu .menu_lv2 {
    padding-left: 0;
  }

  .mobile_menu .menu_lv2>li {
    list-style-type: none;
  }

  .mobile_menu .nav_link_lv2 {
    background: #0b5147;
  }

  .mobile_menu .nav_link_lv2 {
    font-size: 1rem;
    display: block;
    background: var(--blue_150);
    color: inherit;
    padding-left: 3.5rem;
    padding-right: 3rem;
    padding-top: .75rem;
    padding-bottom: .75rem;
    position: relative;
    line-height: 1.4em;
  }

  .mobile_menu .nav_link_lv2:hover,
  .mobile_menu .nav_link_lv2:focus {
    color: var(--grey_800);
  }

  .mobile_menu .nav_link_lv2:hover:before,
  .mobile_menu .nav_link_lv2:focus:before {
    background: #fff;
  }

  .mobile_menu .menu_plus:before,
  .mobile_menu .menu_plus:after {
    background: var(--grey_700);
  }

  .search_menu .mobSearch {
    display: none;
  }

  .search_menu .search_btnwrap {
    display: none;
  }

  .search_menu .searchTool {
    height: 100%;
    padding: 1.8181rem;
  }

  .search_menu .search_label {
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
    display: block;
    width: 100%;
    height: auto;
  }

  .search_menu form {
    display: block;
  }

  .search_label {
    font-size: 0;
    width: 0;
    height: 0;
    overflow: hidden;
    display: block;
  }

  .search_area {
    width: 100%;
    border-bottom: 1px solid var(--grey_700);
    display: flex;
    align-items: center;
  }

  .search_area input {
    background: transparent;
    border: 0;
    padding: .5rem .75rem;
    width: calc(100% - 1.25rem);
    display: flex;
    align-items: center;
    color: var(--grey_700);
  }

  .search_area input::-webkit-input-placeholder,
  .search_area input::placeholder,
  .search_area input::placeholder {
    color: var(--grey_700);
  }

  .search_area .search_btn {
    border: 0;
    background: transparent;
    padding: 0;
  }

  .mobile_menu_active,
  .search_menu_active,
  .lang_menu_active {
    overflow: hidden;
  }

  .lang_menu .langTool {
    position: static;
    transform: none;
    display: block;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    border: 0;
    background: transparent;
    color: inherit;
  }

  .lang_menu .langTool li a {
    background: transparent;

    min-width: inherit;
    border: 0;
  }
}

@layer layout {
  .scroll_blanket {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 7500;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .4);
    cursor: pointer;
    font-size: 0;
  }

  .mobile_menu_active .scroll_blanket {
    display: block;
  }

  .search_menu_active .scroll_blanket {
    display: block;
  }

  .lang_menu_active .scroll_blanket {
    display: block;
  }
}

@layer layout {

  /*
***
* SECTION FOR menu button
***
***
*/
  .menu_btn {
    --menu_bar_size: 1.75rem;
    padding-right: 0;
    padding-left: 0;
    z-index: 4000;
    display: none;
  }

  .menu_btn a {
    display: block;
    /*width: 5rem;
  height: 5rem;*/
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }

  .menu_btn .border_box {
    width: var(--menu_bar_size);
    display: block;
  }

  .menu_btn .border_box>span {
    width: 100%;
    height: 2px;
    display: block;
  }

  .menu_btn .border_box>span:not(:first-child) {
    margin-top: .4rem;
  }

  .menu_btn .border_box>span::before {
    content: "";
    display: block;
    background: var(--grey_600);
    width: 100%;
    height: 100%;
    margin-left: auto;
    transition: width .3s ease-in-out;
  }
}

@layer layout {

  /* ========================= ========================= ========================= ========================= ========================= =========================
***
* SECTION FOR section banner 
***
* A paragraph with information
* that would be useful for someone
* who didn't write the code.
* The asterisks around the paragraph 
* help make it more readable.
***
 ========================= ========================= ========================= ========================= ========================= =========================*/

  .section_header_banner {
    --banner_height: 22rem;
    height: var(--banner_height);
    display: grid;
    grid-template-areas: 'section_banner_graphic';
  }

  .section_header_banner>.container {
    height: var(--banner_height);
    grid-area: section_banner_graphic;
    z-index: 99;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    z-index: 700;
  }

  .section_header_banner>.container>div:first-child {
    width: 70%;
    padding-top: 4rem;
    line-height: 1.4;
  }

  .section_header_banner .bg {
    width: 69%;
    height: var(--banner_height);
    grid-area: section_banner_graphic;
    z-index: 34;
    justify-self: flex-end;
  }

  .section_header_banner img {
    object-fit: cover;
    object-position: left;
    height: 100%;
    max-width: none;
    width: 100%;
  }

  .section_header_banner h1 {
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 600;
    font-size: 2.77rem;
    color: var(--blue_550);
  }

  .section_header_banner h1 br{
    display: none;
  }

  .chineseVersion .section_header_banner h1 {
    font-size: 3.5rem;
    -webkit-text-stroke: clamp(.35px, .6vw, 2px) currentColor;
  }

  .section1 {
    background: #5CEAF4;
    background: linear-gradient(180deg, rgba(94, 236, 248, 1) 0%, rgba(210, 255, 200, 1) 100%);

  }

  .section_header_banner.section1 .bg {
    width: 49%;
  }

  .section_header_banner.section1 .bg img {
    object-fit: contain;
  }

  .section2.section_header_banner {
    background: #5FE8E0;
    background: linear-gradient(86deg, #b5f8ee 0%, #93e0ff 50%, rgba(2, 80, 251, 1) 100%);
  }

  .section_header_banner form {
    align-self: flex-end;
    width: 100%;
    padding-bottom: 1rem;
  }
}

@layer layout {

  /* ========================= ========================= ========================= ========================= ========================= =========================
***
* SECTION FOR mobile left menu nav 
***
* A paragraph with information
* that would be useful for someone
* who didn't write the code.
* The asterisks around the paragraph 
* help make it more readable.
***
 ========================= ========================= ========================= ========================= ========================= =========================*/
  .mobile_left_menu_nav {
    /*position: absolute;
        right: 0;
        top: 0;
       */
    display: none;
    position: absolute;
    right: 0;
    text-align: right;
    bottom: 0;
  }

  .mobile_left_menu_nav a {
    display: inline-block;
    background: var(--grey_600);
    color: #fff;
    padding-top: .5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: .5rem;
  }

  .mobile_left_menu_nav a>span:before {
    content: "";
    width: 1.5rem;
    height: 1.25rem;
    background-image: url("../images/icon/icon_leftmenu_nav.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    display: inline-block;
    margin-right: .5rem;
    filter: var(--white_filter);
  }

  .mobile_left_menu_nav a>span {
    display: flex;
    align-items: center;
  }

  .mobile_left_menu_nav a>span>span {
    display: inline-block;
    text-align: left;
    font-size: 1.2rem;
  }
}


@layer greyscale {
  :root:has(.greyscale) {
    --grayscale_filter: grayscale(100%) grayscale(100%);
    --grayscale_filter2: grayscale(100%);
  }

  html:has(.greyscale) {}

  .greyscale :where(.header_area, .footer_area) {
    -webkit-filter: var(--grayscale_filter);
    -moz-filter: var(--grayscale_filter);

    -ms-filter: var(--grayscale_filter2);
    -o-filter: var(--grayscale_filter2);
    filter: var(--grayscale_filter2);
    filter: gray;
  }

  .greyscale :where(.main_area1,
    .main_area2,
    .main_area3,
    .main_area4, .main_area5) {
    -webkit-filter: var(--grayscale_filter);
    -moz-filter: var(--grayscale_filter);

    -ms-filter: var(--grayscale_filter2);
    -o-filter: var(--grayscale_filter2);
    filter: var(--grayscale_filter2);
    filter: gray;
  }

  .greyscale :where(.toggle_menu, .main_popup) {
    -webkit-filter: var(--grayscale_filter);
    -moz-filter: var(--grayscale_filter);

    -ms-filter: var(--grayscale_filter2);
    -o-filter: var(--grayscale_filter2);
    filter: var(--grayscale_filter2);
    filter: gray;
  }
}


@layer layout {
  .overall_bg {
    position: absolute;
    z-index: -70;
    height: 100%;
    width: 100%;
  }

  .overall_bg::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #CEEBF1;
    background: linear-gradient(180deg, rgba(206, 235, 241, 1) 0%, #fff 100%);
    position: absolute;
    top: 0;
    left: 0;
  }

  .content_graphic1 {
    position: absolute;
    left: 2.1%;
    top: 21rem;
    border-radius: 50%;
    width: 5vw;
    height: 5vw;
    background: #C5FCB9;
    background: linear-gradient(123deg, rgba(197, 252, 185, 1) 0%, rgba(191, 251, 255, 1) 100%);
    z-index: -50;
  }

  .content_graphic2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 25%;
    /*aspect-ratio: 478 / 54;*/
    aspect-ratio: 478 / 84;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    z-index: -10;
  }

  .content_graphic2::before {
    content: '';
    display: block;
    width: 100%;
    background: #C8E9F2;
    aspect-ratio: 460 / 244;
    border-bottom-right-radius: 100vw;
    opacity: .75;
  }



  .content_graphic4 {
    position: absolute;
    top: 0;
    right: 0;
    width: 25%;
    aspect-ratio: 478 / 121;

    overflow: hidden;
    display: flex;
    align-items: flex-end;
    z-index: -30;
  }

  .content_graphic4::before {
    content: '';
    display: block;
    width: 200%;
    aspect-ratio: 1 / 1;
    background: #B9E0CC;
    border-radius: 50%;
    position: absolute;
    bottom: 0;
  }
}

@layer layout {
  .card_grid {
    display: grid;

  }


  .card_grid>*:not(.card2) {
    width: 100%;
  }

  .card_grid1 {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 5.5rem;
    row-gap: 3rem;
    justify-content: center;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }

  .card_grid2 {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1.5rem;
    row-gap: 1.5rem;

  }

  .card_grid3 {
    --card_row_gap: 3rem;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1.5rem;
    row-gap: var(--card_row_gap);
  }

  .card_grid3>*:nth-child(n+4) {
    /*dont know why set row gap in card_grid3 causes empty space betwwen the title and date*/
    
  }

  .card_subgrid_row_section>* {

    grid-template-rows: subgrid;
    row-gap: 0;
    display: grid;
  }

  .card_subgrid_row_section>*:has(>:nth-child(2):last-child) {
    grid-row: span 2;
  }

  .card_subgrid_row_section>*:has(>:nth-child(3):last-child) {
    grid-row: span 3;
  }

  .card_subgrid_row_section>*:has(>:nth-child(4):last-child) {
    grid-row: span 4;
  }

  .card_subgrid_row_section>*:has(>:nth-child(5):last-child) {
    grid-row: span 5;
  }


  .card_subgrid_row_section>*:has(>:nth-child(2):last-child):has(.externalText) {
    grid-row: span 1;
  }

  .card_subgrid_row_section>*:has(>:nth-child(3):last-child):has(.externalText)  {
    grid-row: span 2;
  }

  .card_subgrid_row_section>*:has(>:nth-child(4):last-child):has(.externalText)  {
    grid-row: span 3;
  }

  .card_subgrid_row_section>*:has(>:nth-child(5):last-child):has(.externalText)  {
    grid-row: span 4;
  }
}

@layer layout {
  .grid_layout1 {
    display: grid;
    grid-template-columns: 65% 1fr;
    column-gap: 2.3rem;
    row-gap: 2rem;
    align-items: flex-start;
  }

  .grid_layout1 .card3 {
    width: 100%;
  }

  .grid_layout1:has(>*:nth-child(3):last-child) {
    grid-template-rows: max-content 1fr;
  }

  .grid_layout1:has(>*:nth-child(3)) .grid_inner {
    grid-row: 1 / -1;
  }
}


/* ========================= ========================= ========================= ========================= ========================= =========================
***
* please make sure all layout css inside @layer layout {}
***
* please make sure all layout css inside @layer layout {}
* please make sure all layout css inside @layer layout {}
* Use CSS @layer
* Use CSS @layer
* Use CSS @layer
***
 ========================= ========================= ========================= ========================= ========================= =========================*/