*                       { box-sizing: border-box; }
#top                    { max-width: 100vw; overflow-x: hidden; padding: 0 15px; }
#header                 { display: block; height: 300px; width: auto; margin-bottom: 15px; }
#wrapper                { padding: 0; width: 100%; max-width: 100%; min-width: 100%; background-image: none; }
#container              { display: block; padding: 0; width: auto; }
#main                   { }
#left                   { display: none; }
#right                  { display: none; }
#visual                 { height: 300px; background-size: cover; }
#window                 { max-width: 100%; }
#window input           { max-width: 100%; }
div.captcha             { max-width: 100%; }
.cte_video video        { width: 100%; max-width: 100%; height: auto; }

#container .block           {  }
#main .freecall             { padding: 0; }

#header                     { height: 150px; background-image: none; }
#header .mobile_btn         { display: block; }
#header .ggbox              { display: none; }
#header .logo               { position: absolute; left: 50%; transform: translate(-50%, 0); top: 0px; }
#header .logo img           { width: 200px; height: auto; }
#header .nav                { position: fixed; top: 0; left: -110vw; height: 100vh; width: 100vw; box-sizing: border-box; z-index: 3000; margin: 0; }
#header .nav                { transition: all 0.5s; padding: 30px; background-color: var(--background); overflow-y: auto; }
#header .nav.open           { left: 0; background: var(--background); border-radius: 0; }
#header .nav li             { display: block; line-height: 30px; white-space: nowrap; font-size: 18px; }
#header .nav li:after       { display: none; }
#header .nav a              { color: #fff; }
#header .mobile_close:after,
#header .mobile_btn:after   { content: '\f0c9'; color: var(--headlinebg); font: 36px 'Font Awesome 5 Pro'; font-weight: 900; position: absolute; top: 29px; z-index: 300; }
#header .mobile_menu:after  { left: 20px; color: var(--headlinebg); }
#header .mobile_login:after { content: '\f023'; right: 20px; font-weight: 200; font-size: 32px; }
#header .mobile_close:after,
#header .menu_close:after   { content: '\f00d';  font: 36px 'Font Awesome 5 Pro'; left: unset; right: 20px; color: #fff; }
#header .nav .level_2       { display: block; line-height: 30px; padding-left: 30px; }
#header form,
#header .service,
#header .sentence           { display: none; }

#header .mod_login          { display: none; }

#container                  { display: block; grid-template-columns: 1fr; }
#left, #right               { display: none; } 
#main .cte_slider         { display: none; }

#main .busylist .grid       { display: grid; grid-template-columns: repeat(2, 1fr); }

#main .profile .box         { grid-template-columns: 1fr; }
#main .profile .left        { text-align: center; margin-bottom: 15px; }
#main .profile .right       { margin-top: 15px; }

#main .mod_catnav ul        { grid-template-columns: repeat(2, 1fr); }
#main .mod_catnav li        { text-align: center; }
#main .mod_catnav .img      { margin: 0 auto; }

#main .pm .search           { display: none; }
#main .pm .top_right        { position: relative; top: auto; right: auto; margin-bottom: 20px; }
#main .pm .right            { margin-bottom: 20px; }
#main img                   { max-width: 100%; height: auto; }
#main div.table             { overflow-x: auto; }
#main input, #main .select  { max-width: 100%; }
#top .searchField           { max-width: 100%; }
#main .tabnav               { padding: 0; height: auto; margin-bottom: 30px; text-align: center; }
#main .tabnav li            { display: block; float: none; }
#main .mailcon .search      { display: none; }
#main .rBox                 { float: none; width: auto; }
#main .cte_slider           { display: none; }
#main .logos                { display: block; text-align: center; }
#main .logos br             { display: none; }
#main .logos img            { display: inline-block; margin: 10px; }

#main .profile .img         { float: left; margin: 0 15px 0 0; }
#main .profile .grid        { grid-template-columns: 1fr; row-gap: 20px; padding: 0; }
#main .profile .right       {  text-align: center; }
#main .profile .buttons .inner { width: auto; text-align: center; }
#main .profile .button      { width: 100%; }
#main .profile .inbox       { padding: 10px; }
#main .profile .foot        { grid-column: 1; }

#footer                     { width: 100%; }
#footer .nav li             { display: block; padding: 5px 0; margin: 5px 0;  border: none; }

.contribute, #footer        { width: calc(100% - 30px); padding: 0; display: block; margin: 0 15px; }