html                { overflow-x: hidden; }
body                { max-width: 100vw; overflow-x: hidden; padding: 0; }
img                 { max-width: 100%; height: auto; }
#wrapper            { width: 100vw; padding: 0;  }
#container          { padding: 20px; display: grid; grid-template-columns: 100%; grid-column-gap: 0; grid-template-areas: 'main' 'left'; }
.member #left       { display: none; }
.member #container  { display: block; }
#top .desktop       { display: none; }
video               { max-width: 100%; height: auto; }

#window             { max-width: 90vw; }
#window label       { display: block; }
#window input       { max-width: 100%; box-sizing: border-box; }

#header                     { padding-top: 230px; }
#header .mobile_menu        { position: fixed; top: 0; left: 0; right: 0; background: var(--main-color); height: 60px; display: block; z-index: 100; }
#header .top                { display: none; }
#header .topbar             { display: none; }
#header .flex_slider        { display: none; }
#header .mobile .flex_slider{ display: none; }
#header .logo               { left: 50%; transform: translate(-50vw, 0); top: 50px; width: 100vw; }
#header .nav                { position: fixed; top: 0; left: -110vw; height: 100vh; width: 100vw; box-sizing: border-box; z-index: 3000; margin: 0; background: var(--main-color); }
#header .nav                { transition: all 0.5s; padding: 30px; }
#header .nav.open           { left: 0; }
#header .nav a              { color: #fff; }
#header .nav li             { display: block; padding: 0; margin: 0; }
#header .nav li:after       { display: none; }
#header .mobile_btn         { position: fixed; top: 0; right: 0; }
#header .mobile_btn:after   { content: '\f0c9'; color: #fff; font: 36px 'Font Awesome 5 Pro'; font-weight: 900; position: absolute; top: 10px; left: 20px; z-index: 300; }
#header .mobile_login:after { content: '\f023'; left: auto; right: 20px; font-weight: 200; font-size: 32px; }
#header .mobile_login       { position: fixed; z-index: 100; }
#header .menu_close         { display: none; }
#header .nav .level_2       { display: block; line-height: 30px; padding-left: 30px; }
#header .credit             { display: block; top: 20px; left: 0; right: 0; z-index: 1; position: absolute; text-align: center; line-height: 40px; }
#header .credit             { color: #fff; font-size: 22px; }

.aside .css_slider .stars   { display: block; }

#main .asearch              { height: auto; }
#main .asearch form         { display: block; }
#main .asearch select       { border-bottom: 1px solid var(--border-color); width: 50%; }
#main .asearch .first       { border-bottom: 1px solid var(--border-color); }
#main .asearch form i       { top: auto; bottom: 15px; }
#main .asearch .keywords    { width: 50%; display: inline-block; box-sizing: border-box; }

#main .profile              { padding: 200px 20px 20px 20px; }
#main .profile .buttons     { width: 180px; }
#main .profile .teaser      { height: auto; }
#main .profile .flags       { display: block; }
#main .profile .foot        { margin: 20px -20px -20px -20px; }

#main .grid                 { grid-template-columns: 1fr; grid-gap: 0; grid-template-areas: 'main' 'left'; }
#main .grid .left           { grid-area: left; }
#main .grid .main           { grid-area: main; }
#main .available            { display: none; }
#main div.table             { overflow-x: auto; box-sizing: border-box; }
#main div.table table       { width: auto; }
#main table                 { box-sizing: border-box; }
#main .bbox                 { display: none; }
#main .mbox                 { display: block; }
#main .button.inactive      { display: none; }
#main .text                 { width: 100%; }
#main .searchField          { width: 100%; }

#main .tabnav               { height: auto; border: none; }
#main .tabnav li            { display: block; float: none; margin-bottom: 2px; }
#main .tabnav a             { border-radius: 3px; } 

#main .article_teaser       { padding: 20px; }
#main .article_teaser img   { position: relative; top: 0; left: 0; width: 100%; margin-bottom: 20px; }

#main .detail img           { width: 110px; height: 140px; }
#main .detail .click2call   { line-height: 40px; }

.paymeth                    { display: none; }
#footer                     { margin: 0; width: 100vw; padding: 0; }
#footer .inside             { display: block; }
#footer .block              { display: block; padding: 20px; text-align: center; }

.contribute                 { padding: 0; margin: 0; }

/* ---- Misc ---- */
#main .pm .write_msg        { font-size: 0; width: 34px; height: 34px; padding: 0; }
#main .pm .write_msg:after  { display: block; content: '\f0e0'; font: 16px/34px 'Font Awesome 5 Pro'; position: absolute; top: 0; left: 0; width: 34px; text-align: center; }