/* Keep FAQ answers readable if JavaScript is unavailable. */
.list.faq .items .item .text1:not([hidden]){display:block}
.list.faq .items .item .text1[hidden]{display:none}
.list.faq .name:focus-visible,.submenu-toggle:focus-visible{outline:2px solid #13176d;outline-offset:3px}
.nested-menu.main li.folder>.wrapper{position:relative}
.nested-menu.main li.folder>.wrapper>a{padding-right:30px}
.nested-menu.main .submenu-toggle{position:absolute;right:3px;top:7px;width:25px;height:28px;padding:0;border:0;background:transparent;color:inherit;font:16px Arial,sans-serif;cursor:pointer}
.nested-menu.main li:hover>.wrapper>.submenu-toggle{color:#fff}
.nested-menu.main li.submenu-open>.wrapper>.children>ul{display:block}
.nested-menu.main li.folder>.wrapper>a .icon{display:none}
.nested-menu.main .submenu-toggle:before{content:'';display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.nested-menu.main .submenu-toggle[aria-expanded="true"]:before{transform:translateY(2px) rotate(225deg)}
@media(hover:none){.nested-menu.main li:hover:not(.submenu-open)>.wrapper>.children>ul{display:none}}

.mobile-menu-toggle,.section-menu-toggle{display:none}
.mobile-menu-toggle:focus-visible,.section-menu-toggle:focus-visible{outline:2px solid #13176d;outline-offset:3px}

/* The original fixed-width desktop template becomes a fluid reading layout. */
@media(max-width:980px){
  html,body{min-width:0;height:auto}
  body{font-size:16px;line-height:1.65}
  #root_w,#root_c,#middle_c{overflow:visible}
  #header_w{position:relative!important;background:#fff;border-bottom:1px solid #e7e7e7}
  #header_c,#main_c,#footer_c,#header_c ol.contents,#right_c ol.contents,#footer_c ol.contents,#left_c ol,
  body.research-article #header_c,body.research-article #main_c,body.research-article #footer_c,
  body.research-article #header_c ol.contents,body.research-article #right_c ol.contents,
  body.research-article #footer_c ol.contents,body.research-article #left_c ol{
    width:calc(100% - 40px)!important;max-width:960px;min-width:0;box-sizing:border-box
  }
  #header_c ol.contents,#footer_c ol.contents{width:100%!important;padding:0;display:flow-root}
  #header_c{height:auto!important;min-height:88px;margin:0 auto;padding:16px 0}
  #header_c .container.left,#header_c .container.right{float:none!important;width:100%;box-sizing:border-box}
  #header_c .container.right{clear:both}
  .photo.logo img{width:auto;max-width:min(100%,360px);height:auto;max-height:70px}
  #header_c.mobile-menu-ready .photo.logo img{max-width:calc(100% - 100px)}
  #header_c.mobile-menu-ready>.mobile-menu-toggle{display:block;position:absolute;right:0;top:20px;min-width:76px;min-height:44px;padding:8px 12px;border:1px solid #43474d;border-radius:3px;background:#fff;color:#13176d;font:16px 'Open Sans',Arial,sans-serif;cursor:pointer}
  .mobile-menu-toggle:before{content:'☰';margin-right:7px}
  #header_c.mobile-menu-ready:not(.mobile-nav-open) .container.right{display:none}
  #header_c .nested-menu.main{float:none!important;position:static;margin:16px 0 0}
  #header_c .nested-menu.main>ul{display:block;padding:0;margin:0}
  #header_c .nested-menu.main>ul>li{display:block;float:none;width:100%;margin:0;border-top:1px solid #e7e7e7}
  #header_c .nested-menu.main li>.wrapper>a{display:block;box-sizing:border-box;white-space:normal;min-height:48px;padding:10px 48px 10px 14px;font-size:18px;line-height:1.5}
  #header_c .nested-menu.main .submenu-toggle{width:48px;height:48px;right:0;top:0;border:0;border-radius:0;background:transparent;color:#43474d;display:flex;align-items:center;justify-content:center}
  #header_c .nested-menu.main li:is(:hover,.active,.submenu-open)>.wrapper>.submenu-toggle{color:#fff}
  #header_c .nested-menu.main li.submenu-open>.wrapper>a{background:#43474d;color:#fff!important}
  #header_c .nested-menu.main .children>ul{position:static;display:none!important;box-shadow:none;border-radius:0;background:#f7f7f7;padding:4px 0}
  #header_c .nested-menu.main .submenu-open>.wrapper>.children>ul{display:block!important}
  #header_c .nested-menu.main .children>ul>li{display:block;float:none;width:100%;box-sizing:border-box}
  #header_c .nested-menu.main .children>ul>li>.wrapper>a{padding:10px 18px 10px 28px;font-family:'Open Sans',Arial,sans-serif;font-size:15px;line-height:1.5}
  #middle_w,body.research-article #middle_w{margin-top:0!important}
  #left_c,body.home #left_c,body.index #left_c{width:100%;height:auto!important;margin-bottom:28px;display:flow-root}
  #left_c .contents:after,#main_c .contents:after{content:'';display:block;clear:both}
  #left_c .container,#main_c>.contents>ol>.container{float:none!important;display:block;box-sizing:border-box;width:100%;max-width:100%}
  #left_c .text.title,body.research-article #left_c .text.title{width:auto!important;height:auto!important;padding:24px 0!important}
  #left_c .text.title .i{width:auto;height:auto}
  #left_c .text.title .i :is(h1,h2,.legacy-h1){font-size:28px;line-height:1.3;overflow-wrap:anywhere;margin:0}
  #left_c .text.title p{margin-top:14px;font-size:15px;line-height:1.65}
  #main_c{margin-bottom:32px;overflow-wrap:anywhere}
  #main_c .text.aboutus,#main_c .text.ccp-projects-about,#main_c .text.contacts{display:block;width:auto;padding:0;margin:0 0 24px}
  #main_c .nested-menu.about-us{width:auto;margin:0 0 24px}
  .section-menu-toggle{display:block;width:100%;min-height:48px;margin:0 0 20px;padding:10px 14px;text-align:left;border:1px solid #d1d1d1;background:#f9f9f9;color:#13176d;font:16px 'Open Sans',Arial,sans-serif;cursor:pointer}
  .section-menu-toggle:after{content:'▾';float:right}
  .section-menu-ready .nested-menu.about-us:not(.section-menu-open){display:none}
  #main_c p{line-height:1.7;margin-bottom:1em}
  #main_c :is(h1,h2,h3,h4){overflow-wrap:anywhere;line-height:1.35}
  #main_c img{max-width:100%;height:auto!important;box-sizing:border-box}
  #main_c iframe,#main_c video{max-width:100%}
  #main_c .list.default,#main_c .list.default>.item>.folder,#main_c .list.default>.items li .item>.folder{width:auto;max-width:100%}
  #main_c .list.default>.items li .item>.folder .name,#main_c .list.default>.item>.folder .name{width:auto;max-width:100%;display:block}
  #main_c .list.default>.items li .item{display:flow-root}
  #main_c .list.default>.items li .item>.folder .date{float:none;display:block}
  .list.faq li{width:100%;box-sizing:border-box}
  .list.faq li .name{padding:14px 16px 14px 48px;min-height:48px;font-size:16px;box-sizing:border-box;line-height:1.5}
  .list.faq li .text1{padding:20px 18px 12px 48px;font-size:16px;line-height:1.7}
  .list.faq li .text1:before{top:20px;left:14px}
  #right_c ol.contents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0!important}
  #right_c .container.col-25,body.research-article #right_c .container.col-25{float:none;width:auto!important;padding:0!important;min-width:0;box-sizing:border-box;overflow-wrap:anywhere}
  #right_c :is(h1,h2,.legacy-h1){font-size:24px;margin-bottom:16px}
  #right_c p{font-size:14px;line-height:1.7}
  #right_c img{max-width:100%;height:auto!important}
  #footer_c .container{float:none;width:100%;box-sizing:border-box}
  #footer_c .text.copyright{padding:18px 0 0;overflow-wrap:anywhere}
  #footer_c .nested-menu.footer{height:auto;margin:0 0 16px}
  #footer_c .nested-menu.footer ul{display:flex;flex-wrap:wrap}
  #footer_c .nested-menu.footer li{float:none;padding:8px 20px 8px 0}
  .research-nav{display:flex;flex-wrap:wrap;gap:8px 16px}
  .research-nav a{margin:0;min-height:44px;display:inline-flex;align-items:center}
  .research-body{font-size:16px!important}
  .research-table{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  .research-table table{min-width:560px;line-height:1.5}
  #main_c table:not(.research-table table){width:100%!important;max-width:100%;table-layout:fixed}
  #main_c table:not(.research-table table) td{overflow-wrap:anywhere}
}
@media(max-width:600px){
  #header_c,#main_c,#footer_c,#right_c ol.contents,#left_c ol,
  body.research-article #header_c,body.research-article #main_c,body.research-article #footer_c,
  body.research-article #right_c ol.contents,body.research-article #left_c ol{width:calc(100% - 32px)!important}
  #header_c{min-height:76px;padding:16px 0}
  #header_c.mobile-menu-ready>.mobile-menu-toggle{top:16px}
  #left_c .text.title .i :is(h1,h2,.legacy-h1){font-size:26px}
  #main_c table:not(.research-table table),#main_c table:not(.research-table table)>tbody,
  #main_c table:not(.research-table table)>tbody>tr,#main_c table:not(.research-table table)>tbody>tr>td{display:block;width:100%!important;max-width:100%;box-sizing:border-box}
  #main_c table:not(.research-table table)>tbody>tr{margin-bottom:28px}
  #main_c table:not(.research-table table)>tbody>tr>td{padding:8px 0!important}
  #main_c table:not(.research-table table) :is(p,h3)[style*="margin-left"]{margin-left:0!important}
  #main_c table:not(.research-table table) img{float:none!important;margin:0 0 12px!important;max-width:100%}
  #main_c .list.default>.items li .item>.image{float:none;margin:0 0 16px}
  #main_c .list.default>.items li .item>.folder{float:none;display:block;width:100%}
  #right_c ol.contents{grid-template-columns:minmax(0,1fr);gap:24px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
