/* import variables for fonts, colors, spacings etc. */
@import url("variables.css");

/* import main within RTE */
@import url("main_rte.css");

/* main outside of RTE */
.sql_query_h3_name {margin-top:20px;}
.pagetitle-as-header {padding-bottom:20px; margin-bottom:40px;}
.pagetitle-as-header h1 {font-size: 4.2rem; margin-bottom:0; text-align: right; margin-left: auto;}

#mobile-header a, 
#servicenav a,
#breadcrumb a,
footer a {color: black;}
#mobile-header a:hover, 
#servicenav a:hover,
#breadcrumb a:hover,
footer a:hover {color:var(--fsg_red);}

#maincol a::before {text-decoration: none; display: inline-block;}
#maincol table td img {display:inline; max-width: none;}

.news-img-caption,
figcaption {font-size:14px; color:#8d8d8d; text-align:center; margin: 0 !important; margin-top:0; padding: 0px 4px; background-color: var(--gray-f4); color: black;}
.image-copyright {display: inherit; position: absolute; top: 5px; left: 5px; writing-mode: vertical-rl; font-size: 0.7em; color: white; text-shadow: 0 0 5px black; z-index: 9;}
.image-copyright div {writing-mode: horizontal-tb; border-radius: .5em; background: rgba(0,0,0,0.76); max-width: 200px; padding: 5px; opacity: 0; -webkit-transition: opacity 2s; transition: opacity 1.5s; visibility: hidden; margin: 10px; text-align: left; line-height: 1.5;}
.image-copyright:hover div {opacity: 1; visibility: visible;}

input[type="text"],input[type="email"], textarea {moz-appearance: none; -webkit-appearance: none; appearance: none; outline: none;}
video {max-width:100%; height:auto;}
#wrapper {display:flex; flex-direction: column; min-height:100vh;}
.home .section-inner-grid,
.section-inner {margin:0 auto; max-width:1220px; padding:0 15px;}
.fullwidth-grid,
.home .section-inner-grid,
.section-inner-grid {margin-bottom:30px;}
.layout-100.layout-intended {max-width:850px;}
.flex-grid {display:flex; flex-wrap:wrap; justify-content:space-between;}
.flex-grid.section-inner-grid:last-child {margin-bottom:0;}
.fullwidth-grid {padding:40px 0;}
.fullwidth-grid .flex-grid.section-inner-grid {padding:0;}

/* to button */
#topButton {display: none; position: fixed; bottom: 20px; right: 30px; z-index: 99; border: none; outline: none; background-color: transparent; cursor: pointer; padding: 0;}
#topButton path {fill: var(--txt_black);}
#topButton svg:hover path {fill: var(--fsg_red);}
#topButton svg {width: 2.5em;}

/* header */
#site-header {position: sticky; top: 0; left: 0; z-index: 999; width: 100%; background-color:white; /* border-bottom: 1px solid var(--border); */ transition: transform 0.3s ease-in-out;}
#topbox {position:relative; padding-top:5px; padding-bottom:5px;}
#topbox > .section-inner {overflow:hidden;}

/* logo */
#topbox a#homelink {position:absolute; top:15px; display:block; z-index:1000; font-size:0;}
#topbox a#homelink img {}

/* servicebar */
.servicebar {display: flex; flex-wrap: wrap; justify-content: flex-end; padding: 10px 0 0;}
#servicenav {margin-top: 2px;}
#servicenav ul {margin: 0; padding: 4px 0 0 0; list-style-type: none;}
#servicenav ul li {display: inline;}
#servicenav ul li a {margin-right: 18px; line-height: 1.5; font-family: prometo, sans-serif; font-size:1.6rem;}
#servicenav ul li a.duotone {padding-left:22px;}
#servicenav ul li a i {margin-right: 5px;}
#auth .servicebar {padding: 0; border-left: 1px solid lightgray; padding-left: 10px;}
#auth #servicenav ul {padding: 0;}

/* navbar */
.navbar {display:flex; flex-wrap:wrap;}

/* topnav */
.navbar #topnav {align-self: flex-end; margin-left: auto; margin-top: 20px; font-family: prometo, sans-serif;}
.navbar #topnav ul {position: relative; list-style-type: none; margin: 0; padding: 0;}
.navbar #topnav ul#firstlvl>li {display: inline-block; position: relative;}
.navbar #topnav ul#firstlvl > li > a {display: block; margin-right: 10px; padding: 0 5px 5px;   transition: background 0.5s ease; color: var(--txt_black); font-size: 1.6rem; line-height: 1.5; text-decoration: none;}
.navbar #topnav ul#firstlvl > li:hover > a,
.navbar #topnav ul#firstlvl > li > a:hover,
.navbar #topnav ul#firstlvl > li.act > a {color: var(--fsg_red);}
.navbar #topnav ul#firstlvl>li:hover>ul {visibility: visible; opacity: 1;}
.navbar #topnav .secondlvl {display: none; z-index: 999; visibility: hidden; opacity: 0; transition-property: opacity, visibility;  transition-duration: .4s, 0s; transition-delay: 0s, .4s; position: absolute; top: 40px; padding: 8px 2px; border-radius: 5px; background: rgba(255, 255, 255, 0.55); backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3); border: solid 1px rgba(0, 0, 0, 0.08); position: absolute; right: 0px; columns: 1; min-width: 120px; box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);}
.navbar #topnav a[href^="/partners"] ~ ul.secondlvl {columns: 2;}
.navbar #topnav a[href^="/partners"] ~ ul.secondlvl {right: -110px;}
.navbar #topnav a[href^="/partners"] ~ ul.secondlvl::before {right: 140px;}
.navbar #topnav .secondlvl::before {content: ""; z-index: 999; position: absolute; top: -15px; right: 30px; border-style: solid; border-width: 0 9px 14px 9px; border-color: transparent transparent var(--fsg_red) transparent;}
.navbar #topnav .secondlvl::after {width: 100%; height: 18px; content: ""; z-index: 998; position: absolute; top: -15px; left: 0; background-color: rgb(255 255 255 / 50%); filter: blur(4px);}
.navbar #topnav>ul>li:hover ul.secondlvl {display: block; visibility: visible; opacity: 1; transition-delay: 0s, 0s;}
.navbar #topnav .secondlvl li {border-bottom: none; background-image: linear-gradient(to right, #c0c0c038, transparent); background-size: 100% 1px; background-repeat: no-repeat; background-position: bottom;}
.navbar #topnav .secondlvl li a {display: flex; justify-content: space-between; align-items: center; padding: 2px 10px; color: var(--txt_black); white-space: nowrap;}
.navbar #topnav .secondlvl > li.act > a {color: black; background-color: var(--fsg_gold);}
.navbar #topnav .secondlvl > li:hover > a {color: white; background-color: var(--fsg_red);}
.navbar #topnav .secondlvl li i {font-size: 1em;}
.navbar #topnav .secondlvl .divider {font-size: 0.8em; color: gray;}
/* bookmarks icon + dropdown in the service-icon bar (fsg_myaccount_bookmarks);
   opens on hover (desktop) or icon tap (.fsg-bm-open via BookmarkMenu.js) */
/* rendered in BOTH icon bars: #servicenav (desktop, li) and #mobile-header
   (mobile drawer header, span) - hence the :is() scoping */
:is(#servicenav, #mobile-header) .fsg-bm-nav {position: relative;}
/* same show/hide behavior as the topnav dropdowns: fade with a 0.4s grace
   period, plus an invisible ::after bridge over the gap so the pointer can
   travel from the icon into the panel without closing it */
:is(#servicenav, #mobile-header) .fsg-bm-dropdown {visibility: hidden; opacity: 0; transition-property: opacity, visibility; transition-duration: .4s, 0s; transition-delay: 0s, .4s; position: absolute; top: calc(100% + 12px); right: -4px; z-index: 999; min-width: 150px; margin: 0; padding: 8px 2px; list-style: none; border-radius: 5px; background: var(--bg-content, rgba(255, 255, 255, 0.85)); backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3); border: solid 1px var(--border, rgba(0, 0, 0, 0.08)); box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);}
:is(#servicenav, #mobile-header) .fsg-bm-nav.fsg-bm-open .fsg-bm-dropdown {visibility: visible; opacity: 1; transition-delay: 0s, 0s;}
/* hover-open only on devices that really hover - on touch the sticky :hover
   state would keep the panel open and break the icon tap-toggle */
@media (hover: hover) {
  :is(#servicenav, #mobile-header) .fsg-bm-nav:hover .fsg-bm-dropdown {visibility: visible; opacity: 1; transition-delay: 0s, 0s;}
}
:is(#servicenav, #mobile-header) .fsg-bm-dropdown::before {content: ""; position: absolute; top: -14px; right: 28px; border-style: solid; border-width: 0 9px 14px 9px; border-color: transparent transparent var(--fsg_red) transparent;}
:is(#servicenav, #mobile-header) .fsg-bm-dropdown::after {content: ""; position: absolute; top: -14px; right: 0; width: 100%; height: 14px;}
:is(#servicenav, #mobile-header) .fsg-bm-dropdown li {display: block; margin: 0;}
:is(#servicenav, #mobile-header) .fsg-bm-dropdown li a {display: block; margin: 0; padding: 2px 10px; font-size: 1.4rem; color: var(--txt_black); white-space: nowrap; text-decoration: none;}
:is(#servicenav, #mobile-header) .fsg-bm-dropdown li a:hover {color: white; background-color: var(--fsg_red);}
:is(#servicenav, #mobile-header) .fsg-bm-dropdown li i {font-size: 1em;}
:is(#servicenav, #mobile-header) .fsg-bm-dropdown .fsg-bm-nav-head {padding: 2px 10px; font-size: 0.8em; color: gray; white-space: nowrap;}
/* mobile icon row: wrapper span behaves like the sibling icon links, the
   inner a must not double the spacing; arrow re-centered on the icon */
#mobile-header .fsg-bm-nav {display: block; margin-left: 20px;}
#mobile-header .fsg-bm-nav > a {margin-left: 0; display: block; line-height: 1; font-size: 1.6rem;} /* matches the inline-styled theme/logout icons */
#mobile-header .fsg-bm-dropdown::before {right: 4px;}
/* finger-friendly rows in the mobile dropdown (~44px touch targets) */
#mobile-header .fsg-bm-dropdown {min-width: 220px;}
#mobile-header .fsg-bm-dropdown li a {padding: 13px 14px; font-size: 1.6rem;}
#mobile-header .fsg-bm-dropdown .fsg-bm-nav-head {padding: 6px 14px;}
#mobile-header .fsg-bm-dropdown .fsg-bm-dot {width: 11px; height: 11px; margin-right: 9px;}
/* colored dots mirroring the chip colors */
:is(#servicenav, #mobile-header) .fsg-bm-dropdown .fsg-bm-dot {display: inline-block; width: 9px; height: 9px; margin-right: 7px; border-radius: 50%; background: var(--silver, #c0c0c0);}
:is(#servicenav, #mobile-header) .fsg-bm-dropdown .fsg-bm-dot--blue      {background: var(--fsg_blue, #0069B4);}
:is(#servicenav, #mobile-header) .fsg-bm-dropdown .fsg-bm-dot--gold      {background: var(--fsg_gold, #FDD315);}
:is(#servicenav, #mobile-header) .fsg-bm-dropdown .fsg-bm-dot--green     {background: var(--fsg_green, #76B82A);}
:is(#servicenav, #mobile-header) .fsg-bm-dropdown .fsg-bm-dot--red       {background: var(--fsg_red, #E40E1B);}
:is(#servicenav, #mobile-header) .fsg-bm-dropdown .fsg-bm-dot--cyandeep  {background: var(--fsg_cyan_deep, #0088B6);}
:is(#servicenav, #mobile-header) .fsg-bm-dropdown .fsg-bm-dot--cyanlight {background: var(--fsg_cyan_light, #5FC4E1);}
:is(#servicenav, #mobile-header) .fsg-bm-dropdown .fsg-bm-dot--magenta   {background: #E6007E;}
.navbar #topnav .thirdlvl{display: none;}

.submenu::before {content: "\f0c9"; padding-left: 10px; font-style: normal; color: Gainsboro;}

/* Multi-column dropdown after login */
#auth .navbar #topnav {margin-top: 0px; margin-left: 247px;}
#auth .navbar #topnav ul#firstlvl > li > a {font-size: 1.5rem;}
#auth .navbar #topnav ul#firstlvl>li>a {padding-bottom: 0;}
#auth .navbar #topnav .secondlvl {top: 37px;}
#auth .navbar #topnav ul.secondlvl.has-columns {display: none; flex-direction: row; align-items: flex-start; right: auto; transform: translateX(-35%);}
#auth .navbar #topnav ul.secondlvl.has-columns::before {right: auto; left: calc(35% + 30px);}
#auth .navbar #topnav > ul > li:hover > ul.secondlvl.has-columns {display: flex;}
#auth .navbar #topnav ul.secondlvl.has-columns > li.navcol {display: block;}
#auth .navbar #topnav ul.secondlvl.has-columns > li.navcol > ul {display: block; position: static; border: none; box-shadow: none; padding: 0; background: transparent; min-width: auto; visibility: visible; opacity: 1;}
#auth .navbar #topnav ul.secondlvl.has-columns > li.navcol > ul > li > a {display: flex; justify-content: space-between; align-items: center; padding: 2px 10px; color: var(--txt_black); white-space: nowrap;}
#auth .navbar #topnav ul.secondlvl.has-columns > li.navcol > ul > li:hover > a {color: white; background-color: var(--fsg_red);}
#auth .navbar #topnav ul.secondlvl.has-columns > li.navcol > ul > li.act > a {color: var(--fsg_red);}
#auth .navbar #topnav ul.secondlvl.has-columns > li.navcol > ul > li.act:hover > a {color: white;}
#auth .navbar #topnav ul.secondlvl.has-columns > li.navcol > ul > li.divider {font-size: 0.8em; color: gray;}

.hidden-icon {color: var(--fsg_red); margin-right: 6px;}
#sidenav ul>li>a:has(>.hidden-icon),
.navbar #topnav ul li a:has(>.hidden-icon),
#auth .navbar #topnav ul.secondlvl.has-columns > li.navcol > ul > li > a:has(>.hidden-icon) {justify-content: flex-start;}


/* mobile meta */
#mobile-header {display:none; align-items: center; align-self:flex-end; margin:auto 0 auto auto;}
#mobile-header a {display:block; line-height:1; font-size:2rem; margin-left:20px;}

/* mmenu */
.mm-ocd__content #topnav {font-family: prometo, sans-serif; font-size: 1.2em;}
.mm-spn li::before{color: var(--fsg_red); opacity: 1!important;}
.mm-spn li.divider::before{ opacity: 0 !important;}
.mm-spn li.divider{ font-size:0.8em; color: gray; font-family: sans-serif; padding-left: 10px;}
.mm-spn.mm-spn--navbar::after {opacity: 1; font-size: 2.3rem;}
.mm-spn.mm-spn--navbar:before {opacity: 1;}
.mm-spn.mm-spn--light.mm-spn--navbar::after {color: var(--fsg_blue);}
.mm-spn.mm-spn--light {background: white;}
.mm-ocd--open li.act > a {color: black; background-color: var(--fsg_gold);}
.mm-ocd--open li:hover > a {color: white; background-color: var(--fsg_red);}
.mm-ocd__content #topnav .submenu {display:none;}
.mm-ocd__content #topnav a.fsg-icon::before,
.mm-ocd__content #topnav a.fsg-icon::after {left: 18px;top: 12px;}
.mm-ocd__content #topnav a.fsg-icon {padding-left: 44px !important;}

/* side nav */
nav#sidenav {width: 223px;}
#sidenav {margin: 10px 0 20px 0;}
#sidenav .divider {margin-top: 20px; padding-left: 12px; font-size: 0.8em; color: gray;}
#sidenav ul { margin: 0;padding: 0; list-style-type: none;}
#sidenav ul>li>a {color: var(--txt_black); border-left: 2px solid whitesmoke; display: flex; justify-content: space-between; padding: 2px 10px; align-items: center;}
#sidenav ul>li>a:hover,
#sidenav ul>li.act>a:hover,
#sidenav ul>li.cur>a:hover {color: white; border-left: 2.5px solid var(--fsg_red); background-color: var(--fsg_red);}
#sidenav ul>li.cur>a {color: var(--txt_black); border-left: 2px solid var(--); color: var(--txt_black); background-color: var(--fsg_gold);}
#sidenav ul>li.act>a {color: var(--fsg_red); border-left: 2px solid var(--fsg_red);}
#sidenav ul ul {padding-left: 15px; margin: 6px 0;}
#sidenav ul ul li a {font-size:1.1rem;}

/* headerimage */
#headerimg {overflow:hidden;}

/* #headerimg figure {height:200px;} */
#headerimg img {margin:auto; width:100%; height:100%; /* object-position:center; object-fit:cover; */}
#headerimg .ce-center .ce-outer,
#headerimg .ce-center .ce-inner {float:none; position:static;}
#headerimg .ce-left .ce-gallery,
#headerimg .ce-column {float:none;}
#headerimg .ce-gallery figure {display:block;}
#headerimg .ce-intext.ce-right .ce-gallery,
#headerimg .ce-intext.ce-left .ce-gallery,
#headerimg .ce-above .ce-gallery {margin-bottom:0;}

/* breadcrumb */
#breadcrumb {padding: 15px 15px; font-size:1.3rem; line-height: 1.5; color: var(--txt_black);}
#breadcrumb a {margin:0; text-decoration: none;}
#breadcrumb a.home {margin-left: 0;}
#breadcrumb .slash {color: var(--fsg_red); font-weight: bold;}

/* content */
#innerwrapper {display:flex; margin-top:15px;}

/* main */
main {flex:1;}
.col-9 {width:80%;}
.col-6 {width:48%;}
.col-3 {width:20%;}
.col-4 {width:30%; }

#maincol.col-9 .frame-default {margin-bottom:15px;overflow:hidden;}
#maincol .pagetitle-as-header,
#maincol .frame-type-header {margin-bottom:25px;}
#maincol .ce-bodytext h3,
#maincol .text-frame h3 {margin-top:25px; }
#maincol p {margin:0 0 10px;}
#maincol p:last-child {margin-bottom:0;}
#maincol img {display:block; max-width:100%; height:auto;}
#maincol div.jcrop-holder img {max-width: none !important;}

#maincol div > ul,
#maincol div > ol {margin-bottom: 15px;}
#maincol ol {list-style: none; padding: 0 1em; margin-top: 2px; counter-reset: li; line-height: 1.5;}
#maincol ol li::before {content: counter(li); color: var(--fsg_red); display: inline-block; width: 1em; margin-left: -1.5em; margin-right: 0.5em; text-align: right; direction: rtl; font-weight: bold; font-size: smaller;}
#maincol ol li ol li::before {color: var(--txt_black);}
#maincol ol li ol li ol li::before {color: var(--txt_black);}
#maincol ol.lower-alpha {list-style-type: lower-alpha;}
#maincol ol.lower-alpha ol{list-style-type: lower-roman;}
#maincol ol.lower-alpha ol ol,
#maincol ol.lower-alpha ol ol ~ ol{list-style-type: decimal;}
#maincol ol.lower-alpha li::before {content: none;}
#maincol li {counter-increment: li; padding-left: 0.6em; margin-bottom: 0.2em; display: inherit;}
#maincol ul { list-style: none; padding-left: 15px; margin-top: 2px; line-height: 1.5;}
#maincol ul li::before {content: "\f101"; font-family: var(--font_icons); display: inline-block; width: 1em; margin-left: -1.4em; margin-right: 0.4em; color: var(--fsg_green);}

#maincol .csc-menu {list-style-type: none;}
#maincol .csc-menu li::before {display:none;}

#maincol .ce-uploads {padding:0;}
#maincol .ce-uploads li {padding:0; display:flex; flex-wrap:wrap; gap:2%; margin: 0.2em 0;}
#maincol .ce-uploads li > img {display:none;}
#maincol .ce-uploads li::before {display:none;}
#maincol .ce-uploads a {text-decoration: none;}
#maincol .ce-uploads-fileName {font-size:1.4rem;}
#maincol .ce-uploads-thumb a,
#maincol .ce-uploads-thumb img {display:block; margin:0; text-decoration: none;}
#maincol .ce-uploads-thumb img {float:none; padding:0; max-width: 100%; height:auto;}
#maincol .ce-uploads-links {display:flex; width:30%;}
#maincol .ce-uploads span {display:inline;}
#maincol .ce-uploads-thumb {position:relative; width:20%; aspect-ratio:16/9; background-color:#d3d3d3;}
#maincol .ce-uploads-thumb a {position: relative;}
#maincol .ce-uploads-thumb::before {content:"No image generated"; position:absolute; display:flex; align-items:center; top:0; bottom:0; left:auto; right:auto; width:100%; justify-content: center;}
#maincol .ce-uploads-content {width:78%; padding:0;}
#maincol .ce-uploads-description {margin-top:8px;}
#maincol .ce-uploads li .ce-uploads-content a::before {content:"\f15b"; font-family: var(--font_icons); font-size:1.4rem; line-height:1.6;}
#maincol .ce-uploads li .ce-uploads-content a[href*=".pdf"]::before {content:"\f1c1";}
#maincol .ce-uploads li .ce-uploads-content a[href*=".jpg"]::before {content:"\e646";}
#maincol .ce-uploads li .ce-uploads-content a[href*=".svg"]::before {content:"\e64b";}
#maincol .ce-uploads li .ce-uploads-content a[href*=".png"]::before {content:"\e666";}
#maincol .ce-uploads li .ce-uploads-content a[href*=".gif"]::before {content:"\e645";}
#maincol .ce-uploads li .ce-uploads-content a[href*=".xlsx"]::before {content:"\e64d";}
#maincol .ce-uploads li .ce-uploads-content a[href*=".xlsm"]::before {content:"\f1c3";}
#maincol .ce-uploads li .ce-uploads-content a[href*=".pptx"]::before {content:"\e64a";}
#maincol .ce-uploads li .ce-uploads-content a[href*=".ppt"]::before {content:"\e64a";}
#maincol .ce-uploads li .ce-uploads-content a[href*=".docx"]::before {content:"\e5ed";}
#maincol .ce-uploads li .ce-uploads-content a[href*=".mp4"]::before {content:"\e649";}
#maincol .ce-uploads li .ce-uploads-content a[href*=".mp3"]::before {content:"\e648";}
#maincol .ce-uploads li .ce-uploads-content a[href*=".zip"]::before {content:"\e5ee";}
#maincol .ce-uploads li .ce-uploads-content a[href*=".7z"]::before {content:"\e5ee";}


@media only screen and (max-width:1200px) {
  #maincol .ce-uploads-content {width:68%;}
  #maincol .ce-uploads-thumb {width:30%;}
}  

@media only screen and (max-width:768px) {
  #maincol .ce-uploads-content {width:58%;}
  #maincol .ce-uploads-thumb {width:40%;}
}

@media only screen and (max-width:640px) {
  .ce-uploads-2 {display:flex; flex-wrap:wrap; gap:4%;}
  .ce-uploads-2 li {width:48%;}
  #maincol .ce-uploads li {flex-direction: column; gap:0;}
  #maincol .ce-uploads-content {width:100%;}
  #maincol .ce-uploads-thumb {margin-bottom:10px; width:100%;}
}
@media only screen and (max-width:500px) {
  .ce-uploads-2 {gap:0;}
  .ce-uploads-2 li {width:100%;}
}

/* content images */
#maincol .ce-textpic {overflow:visible;}
#maincol .ce-intext .ce-gallery {margin-top:6px;}
#maincol .ce-intext .ce-gallery[data-ce-images="1"] {margin-bottom:0;}
#maincol .ce-textpic .ce-border {border:solid 5px white; border-radius:12px; -webkit-box-shadow: -1px 0px 4px 0px rgba(0,0,0,0.5); -moz-box-shadow: -1px 0px 4px 0px rgba(167, 46, 46, 0.5); box-shadow: -1px 0px 4px 0px rgba(0,0,0,0.5);}
#maincol .ce-textpic .ce-border img {border:none;}
#maincol .frame-type-textmedia .ce-outer,
#maincol .frame-type-textmedia .ce-inner {position:static; float:none;}
#maincol .frame-type-textmedia .ce-column {float:none;}

/* gallery */
.frame-layout-5 .ce-gallery {display:flex; flex-wrap:wrap; gap:20px 20px;}
.frame-layout-5 .ce-gallery .ce-row {flex: 1 1 200px; margin-bottom: 0;}
.frame-layout-5 .ce-gallery .ce-row img {max-width:100%; height:auto;}

/* table */
.table-scroll {display:block; overflow-x:auto;}

/* Yellow horizontal scrollbar for tables */
.table-scroll::-webkit-scrollbar {height: 8px;}
.table-scroll::-webkit-scrollbar-track {background: var(--gray-f5); border-radius: 6px; }
.table-scroll::-webkit-scrollbar-thumb {background: var(--fsg_gold); border-radius: 6px; }
.table-scroll::-webkit-scrollbar-thumb:hover {background: #FFD700; }

.overview,
.contenttable,
.table-fsg1,
table.data,
.wrl_table {width: 100%; margin: 20px 0; border-collapse: collapse;}
.overview thead,
.contenttable thead,
.table-fsg1 thead,
.overview tbody,
.contenttable tbody,
.table-fsg1 tbody,
table.data tbody,
.wrl_table tbody {background-color: white;}
.overview th,
.contenttable th,
.table-fsg1 th,
table.data th,
.wrl_table th {border-bottom: solid 1px var(--fsg_red); font-family: sans-serif; padding: 3px; text-align: left; font-size: 1.4rem; color: var(--charcoal); font-weight: normal; white-space: nowrap; font-weight:bold;}
.overview tbody th,
.contenttable tbody th,
.table-fsg1 tbody th,
table.data tbody th,
.wrl_table tbody th {border:none; white-space: nowrap; white-space: normal;}
.overview th p,
.contenttable th p,
.table-fsg1 th p,
table.data th p,
.wrl_table th p {text-align: left; font-size: 1.2em; color: var(--charcoal);}
.overview td, 
.contenttable td,
.table-fsg1 td,
table.data td,
.wrl_table td {padding: 3px;}
.overview tr,
.contenttable tr,
.table-fsg1 tr,
table.data tr,
.wrl_table tr {border: none;}
.overview label,
.contenttable label,
.table-fsg1 label,
table.data label,
.wrl_table label {font-size:1.2rem !important; line-height:1.2;}

.overview tr:nth-child(2n),
.contenttable tr:nth-child(2n),

.table-fsg1 tr:nth-child(2n),
table.data tr:nth-child(2n),
.wrl_table tr:nth-child(2n) {background: var(--gray-f5);}

.overview tbody > tr:nth-child(2n+1),
.contenttable tbody > tr:nth-child(2n+1),

.table-fsg1 tbody > tr:nth-child(2n+1),
table.data tbody > tr:nth-child(2n+1),
.wrl_table tbody > tr:nth-child(2n+1) {background: white;}


.overview caption,
.contenttable caption,
.table-fsg1 caption,
table.data caption,
.wrl_table caption {font-size: 1.3rem; font-family: sans-serif;}

.user-fsgregister-pi1 table.data {border:none;}
table.data th {width:150px; border-bottom:none; font-size:1.2rem; font-family:Verdana,sans-serif;}
.wrl_table th {text-align:center;}
/* .overview tbody th {font-weight: normal; border-bottom:none;} */
/* Font Awesome social media icons (former social_media/*.svg images);
   monochrome via currentColor - theme-aware without invert filters.
   Switch to brand colors by adding e.g. i.fa-linkedin{color:#0a66c2;} rules here. */
i.sm-icon {font-size: 16px; line-height: 1; vertical-align: middle;}

.text-frame figure.table::-webkit-scrollbar {height: 8px;}
.text-frame figure.table::-webkit-scrollbar-thumb {background-color: #ccc; border-radius: 4px;}
.text-frame figure.table::-webkit-scrollbar-track {background-color: var(--gray-f5);}

/* page layouts */
.layout-30-70 #maincol {padding:0 0 0 30px;}
.layout-100 {margin-top:15px;}
.layout-100 .section-inner-grid,
.layout-30-70 .section-inner-grid {padding:0;}

#leftcol {padding:0 15px 0 0;}
#rightcol {padding:0 0 0 15px;}

/* ce layouts */
/* accordion */
.frame-layout-1 {margin-top:5px; margin-bottom:5px; -webkit-box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.15);  -moz-box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.15); box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.15);}
.frame-layout-1 header.act h2,
.frame-layout-1 header.act h3 {color:var(--gray-dark);}
.frame-layout-1 header h2,
.frame-layout-1 header h3 {display:flex; flex-wrap:wrap; justify-content:space-between; margin-bottom:0 !important; padding:15px 25px; background-color:var(--gray-f1); border-radius:2px; font-size:18px; font-size:1.8rem; line-height:22px; cursor:pointer;}
.frame-layout-1 h3 {margin-top:15px;}
.frame-layout-1 header h2::after,
.frame-layout-1 header h3::after {display:inline-block; content:"\f067"; font-family: var(--font_icons);}
.frame-layout-1 header.act h2::after,
.frame-layout-1 header.act h3::after {content:"\f068";}
.frame-layout-1 .ce-textpic {overflow:hidden;}
.frame-layout-1 .ce-uploads,
.frame-layout-1 .ce-textpic,
.frame-layout-1 .ce-image,
.frame-layout-1 .text-frame {display:none; background-color:white; padding:15px 25px; border-top: solid 1px var(--gray-f1);}
.frame-layout-1 header.act + .ce-image,
.frame-layout-1 header.act + .ce-uploads,
.frame-layout-1 header.act + .ce-textpic,
.frame-layout-1 header.act + .text-frame {display:block;}
.frame-layout-1 p {margin:15px 0 0;}
.frame-layout-1 ul {margin-top:0;}
.frame-layout-1 .text-frame  p {margin-top:0;}
.frame-layout-1 .text-frame  p:last-child {margin-bottom:0 !important;}
.frame-layout-1 .ce-uploads li {margin-top:0; margin-bottom:15px;}
.frame-layout-1 .ce-uploads li div::before {background-color:var(--gray-f5);}

.col-3 .frame-layout-1 header h2,
.col-3 .frame-layout-1 header h3  {font-size:16px; font-size:1.6rem;}

/* ce gallery */
.frame-layout-4 .ce-gallery {position: relative; float:none;}
.frame-layout-4 .ce-center .ce-outer,
.frame-layout-4 .ce-center .ce-inner {float:none; position: static;}
.frame-layout-4 figcaption {margin-bottom: 0 !important; margin-top:0; padding: 4px 8px; background-color: var(--silver); color: black;}

/* sponsoring logos */
.sponsoren_logos { margin-bottom:20px;}
.fullwidth-grid .sponsoren_logos {margin-bottom:0;}
.sponsoren_logos h2 {width:100%; margin-bottom:15px;}
.sponsoren_logos a {height:100%; width:100%; display:flex;}
.sponsoren_logos figure {display: flex; overflow: hidden;   width: calc(var(--Logos_image_width)*var(--Logos_footer)); height: calc(var(--Logos_image_width)/1.7*var(--Logos_footer));}
.sponsoren_logo_wrap {display:flex; flex-wrap:wrap; justify-content: space-around; gap:25px 5%;}
.sponsoren_logos img {max-height: 100%; max-width: 100%; height: auto !important; /* width: auto !important;*/}
.sponsoren_logos figure.image[data-filename^="ansys"] {width: calc(var(--Logos_image_width)*var(--Logos_footer)*0.85);}
.sponsoren_logos figure.image[data-filename^="Audi"] {width: calc(var(--Logos_image_width)*var(--Logos_footer)*0.85);}
.sponsoren_logos figure.image[data-filename^="BMW"] {width: calc(var(--Logos_image_width)*var(--Logos_footer)*1.8);}
.sponsoren_logos figure.image[data-filename^="Bosch"] {width: calc(var(--Logos_image_width)*var(--Logos_footer)*1.2);}
.sponsoren_logos figure.image[data-filename^="Freudenberg"] {width: calc(var(--Logos_image_width)*var(--Logos_footer)*1.8);}
.sponsoren_logos figure.image[data-filename^="Helsing"] {width: calc(var(--Logos_image_width) * var(--Logos_footer) * 0.4);}
.sponsoren_logos figure.image[data-filename^="Magna"] {width: calc(var(--Logos_image_width)*var(--Logos_footer)*1.3); transform: translateY(calc(var(--Logos_image_width)*-0.02));}
.sponsoren_logos figure.image[data-filename^="MAN"]{width: calc(var(--Logos_image_width)*var(--Logos_footer)*0.9); transform: translateY(calc(var(--Logos_image_width)*-0.09));}
.sponsoren_logos figure.image[data-filename^="MathWorks"] {width: calc(var(--Logos_image_width)*var(--Logos_footer)*1.9);}
.sponsoren_logos figure.image[data-filename^="MB-star"] {width: calc(var(--Logos_image_width)*var(--Logos_footer)*0.6);}
.sponsoren_logos figure.image[data-filename^="Porsche"] {width: calc(var(--Logos_image_width)*var(--Logos_footer)*1.7);}
.sponsoren_logos figure.image[data-filename^="RV-tech"] {width: calc(var(--Logos_image_width)*var(--Logos_footer)*3);}
.sponsoren_logos figure.image[data-filename^="Schaeffler"] {width: calc(var(--Logos_image_width)*var(--Logos_footer)*1.6);}
.sponsoren_logos figure.image[data-filename^="Siemens"]  {width: calc(var(--Logos_image_width)*var(--Logos_footer)*1.2);}
.sponsoren_logos figure.image[data-filename^="Tesla"] {width: calc(var(--Logos_image_width)*var(--Logos_footer)*1.6);}
.sponsoren_logos figure.image[data-filename^="Wuerth"]{width: calc(var(--Logos_image_width)*var(--Logos_footer)*1.4);}
.sponsoren_logos figure.image[data-filename^="VDI"]{width: calc(var(--Logos_image_width)*var(--Logos_footer)*0.6); transform: translateY(calc(var(--Logos_image_width)*-0.05));}
.sponsoren_logos figure.image[data-filename^="VW"] {width: calc(var(--Logos_image_width) * var(--Logos_footer) * 0.6);}
.sponsoren_logos figure.image[data-filename^="Zeiss"] {width: calc(var(--Logos_image_width) * var(--Logos_footer) * 0.6);}

footer .sponsoren_logos {max-width: unset; padding: 0; margin: 0 0 25px 0;}
footer .sponsoren_logo_wrap {gap: 10px 5%;}
footer .sponsoren_logos {--Logos_footer: 0.6;}

/* bg color */
.frame-layout-3 {padding:10px; background-color:var(--fsg_gold);}

/* gridelements */
/* bg grid */
.color-1-bg {background-color:var(--gray-f8);}
/* flexgrid */
.flex-grid .col-4 .ce-center .ce-outer,
.flex-grid .col-4 .ce-center .ce-inner,
.flex-grid .col-6 .ce-center .ce-outer,
.flex-grid .col-6 .ce-center .ce-inner {position:static; float:none;}
.flex-grid .col-4 img,
.flex-grid .col-6 img {width:100%; height:auto;}

.cols-2-inner.teaser {margin-bottom:120px;}
.cols-2-inner.teaser .col {display:flex; align-items: center;}
.cols-2-inner.teaser h2 {margin-bottom:30px;}
.cols-2-inner.teaser .link-button {display:inline-block; margin-top:30px;}

.col-9 .cols-2-inner.teaser {margin-bottom: 30px;}

/* Sitemap */
.sitemap-start {display:inline-block; padding:4px 10px; font-size:14px; font-size:1.4rem; font-weight:bold; color:white; border:solid 1px #afafaf; background:#d75c09;}
#maincol .frame-type-menu_sitemap ul {list-style-type:none; padding:0; margin:0; margin-left:15px;}
#maincol .frame-type-menu_sitemap ul li {list-style-image:none; position:relative; margin:0; padding:4px 0 0 15px;}
/* tree connector lines drawn in CSS (overrides the global #maincol ul li::before icon) */
#maincol .frame-type-menu_sitemap ul li::before {content:""; display:block; position:absolute; left:0; top:0; bottom:0; width:0; margin:0; border-left:1px solid var(--border);}
#maincol .frame-type-menu_sitemap ul li::after {content:""; position:absolute; left:0; top:20px; width:12px; border-top:1px solid var(--border);}
#maincol .frame-type-menu_sitemap ul li:last-child::before {bottom:auto; height:20px;}
#maincol .frame-type-menu_sitemap ul li p {padding:0; margin:0;}
#maincol .frame-type-menu_sitemap ul li a {display:inline-block; padding:4px 10px; font-size:14px; font-size:1.4rem; color:var(--gray-dark); border:solid 1px #afafaf; background:#ffc095; text-decoration:none;}
#maincol .frame-type-menu_sitemap ul li a:hover {border-color:var(--gray-dark);}
#maincol .frame-type-menu_sitemap ul li ul li a { background-color:#dce7c4; background-color:var(--gray-f1);}
#maincol .frame-type-menu_sitemap ul li ul li ul li a {background-color:#e8e8e8;}
#maincol .frame-type-menu_sitemap ul li ul li ul li ul li a {background-color:var(--gray-f1);}

/* news */
.news-list-view {display:flex; flex-wrap:wrap; gap:2%; margin-top:25px;}
.news-list-view .article {position:relative; width:32%; background-color:white; overflow:hidden;}
.news-list-view .news-img-wrap {background-color:white;}
.news-list-view .news-img-wrap a {display:block; overflow:hidden;}
.news-list-view .news-img-wrap video,
.news-list-view .news-img-wrap img {display:block; width:100%; height: 100%; aspect-ratio: 16 / 9; object-fit: contain; object-position: center;}
.article-list-text {padding:20px 20px 45px;;}
.news-list-view h3 {margin:10px 0;}
.news-list-view h3 a {text-decoration: none !important;}
.news-list-date {display:block; font-size: 0.8em; line-height: 1.5;}
.news-list-footer .more {display:block; position:absolute; bottom:20px; right:20px; margin-top:10px; text-decoration-line: none !important; font-size:4rem;}
.news-list-footer {display:flex; justify-content: space-between; align-items:center; margin-top:20px;}
.news-related-link-description {margin-left: 5px;}
#maincol.col-9 .news-list-view .article {margin-bottom:15px; background-color:var(--gray-f8);}
.news-list-category,
.news-list-tags {position:absolute; bottom:20px; left:20px; display: flex; flex-wrap: wrap; margin:10px 0; font-size: 0.8em;}
.news-categoryTree a,
.news-list-category a,
.news-tags a,
.news-list-tags a {text-decoration: none;}
.news-list-category span,
.news-list-tags span {margin-right: 10px;}
.news-list-category .category::before,
.news-categoryTree .category::before{content: "\f02b"; font-family: var(--font_icons); font-weight: 900; margin-right: 2px; color: var(--before)}
.news-list-tags,
.news .news-tags {font-family: prometo; text-transform: uppercase;}
.news-list-tags .tag::before{content: "\f292"; font-family: var(--font_icons); color: var(--fsg_red);}
.news-list-tags .tag{margin-right: 5px;}
.news .news-tags {margin-bottom: 20px; font-size: 0.8em; line-height: 1.5;}
.news .news-tags .active,
.news .news-tags li::before{content: "\f292"; font-family: var(--font_icons); font-weight: 900; color: var(--fsg_red); margin-right: 1px;}
.news .news-tags li {color: Gray;}
.news .news-categoryTree .active,
.news-menu-view .item.itemactive a  {color: var(--fsg_red);}
.news-single {margin-top:0;}
.news-single .header h3 {margin:8px 0 10px;}
.news-single .footer {display:none;}
.news-single .teaser-text {font-family:OpenSans, sans-serif; font-weight: 700;}
.news-single .news-img-txt-wrap {overflow:hidden;}
.news-single .news-img-wrap {float:right; margin-left:25px;}
.news-single .news-img-wrap .outer {position: relative; margin-bottom: 20px;}
.news-single .news-img-caption {max-width: 328px;}
.news-single .mediaelement-image,
.news-single .news-list-category, 
.news-list-tags {position:static;}
.news-single .news-related-files ul {padding:0 !important;}
.news-single .news-related-files ul li {padding-left:0 !important;}
.news-single .news-related-files ul li::before {display:none !important;}
.news-single .news-related-files ul li svg {width:100%; height:100%;}
.news-single .icon-markup {display:inline-block; height:15px; width:15px;}
.news-related {margin-top:20px;}
.news-backlink-wrap {display:flex; flex-wrap:wrap; justify-content: space-between; margin-top:30px; padding-top:20px; border-top:solid 1px var(--border);}
.news-backlink-wrap .news-backlink a::before {margin-right:5px; content:"\f104"; font-family: var(--font_icons);}
.news-list-compact {max-width: 952px; width: 100%; overflow: hidden;}
.news-list-compact .news-list-compact-label {color: silver;}
.news-list-compact .news-list-compact-items {min-width: 0; overflow: hidden; }
.news-list-compact .news-compact-item { display: flex; align-items: center; min-width: 0; overflow: hidden; }
.news-list-compact .news-date { flex-shrink: 0; min-width: 60px; font-size: 0.9rem; }
.news-list-compact .news-title-link { flex: 1; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }

/* News Pagination */
.news-pagination {margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--border);}
.news-pagination .pagination {display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0; list-style: none; margin: 0; padding: 0;}
.news-pagination .page-item {display: inline-block;}
.news-pagination .page-item::before {display: none; content: "" !important;}
.news-pagination .page-link {display: block; padding: 4px 12px; border: 1px solid var(--gray-f4); transition: all 0.2s ease; text-decoration: none !important; font-family: prometo, sans-serif; font-size: 1.6rem; color: var(--txt_black);}
.news-pagination .page-link:hover {background-color: var(--fsg_red); border: 1px solid var(--fsg_red); color: white !important;}
.news-pagination .page-item.active .page-link {padding: 4px 12px; background-color: var(--fsg_gold); color: black !important; border: 1px solid var(--fsg_gold);}
.news-pagination .page-item.first .page-link, 
.news-pagination .page-item.prev .page-link, 
.news-pagination .page-item.next .page-link, 
.news-pagination .page-item.last .page-link {font-size: 0;}
.news-pagination .page-item.first .page-link::before {content: "\f100"; font-family: var(--font_icons); font-size: 1.6rem;}
.news-pagination .page-item.prev .page-link::before {content: "\f104"; font-family: var(--font_icons); font-size: 1.6rem;}
.news-pagination .page-item.next .page-link::before {content: "\f105"; font-family: var(--font_icons); font-size: 1.6rem;}
.news-pagination .page-item.last .page-link::before {content: "\f101"; font-family: var(--font_icons); font-size: 1.6rem;}
.news-pagination .page-item.first .page-link:hover::before, 
.news-pagination .page-item.prev .page-link:hover::before, 
.news-pagination .page-item.next .page-link:hover::before, 
.news-pagination .page-item.last .page-link:hover::before {color: white;}
@media only screen and (max-width: 480px) {.news-pagination .page-link {padding: 4px 10px; font-size: 1.4rem;}}

/* form styles */
#maincol label {display:inline; margin-bottom:5px; font-size:1.2rem; line-height:1; font-family: Verdana, sans-serif; font-weight: bold;}
#maincol input[type="email"],
#maincol input[type="password"],
#maincol select,
#maincol textarea,
#maincol input[type="text"] {display:block; width:100%; height:30px; margin-top:5px; padding:0 8px; border-radius:5px;  border:solid 1px var(--border);}
#maincol input[type="button"],
#maincol input[type="submit"] {padding:8px; height:auto; background-color:var(--fsg_gold); color:var(--txt_black); border:none; border-radius:5px; cursor: pointer; transition: 0.3s; margin-bottom: 10px;}
#maincol input[type="button"]:hover,
#maincol input[type="submit"]:hover {background-color: orange; color: var(--txt_black);}
#maincol input[type="button"]:disabled,
#maincol input[type="submit"]:disabled {background-color:var(--silver); color: var(--txt_black); cursor: not-allowed;}
#maincol input[name*="cancel"],
#maincol input[value*="remove"],
#maincol input[value="cancel" i] {background-color:var(--fsg_red); color: white;}
#maincol input[name*="proceed"],
#maincol input[value="Proceed with current image"],
#maincol input[value="Skip this step"],
#maincol input[value="proceed"] {background-color:var(--fsg_green); color: white;}
#maincol select {height:30px; padding:0 8px; border-radius:5px;  border:solid 1px var(--border);}
#maincol textarea {width:100%; padding:0 8px; border-radius:5px;  border:solid 1px var(--border);}
#maincol input[type="file"] {margin-bottom:15px;}
#maincol input[type="checkbox"] {margin:4px 6px 0 0;}
#maincol textarea {height:auto; padding:10px;}
#maincol select[multiple="multiple"], 
#maincol select[size="10"] {padding:10px; height:auto;}
#maincol select{width: inherit;}

/* review tools like esf, asf, deadlines uploads */
.form-state,
.upload-state {text-align: center;}
.form-state.passed,
.upload-state.passed {background-color: color-mix(in srgb, var(--fsg_green) 50%, transparent); }
.form-state.failed,
.upload-state.failed {background-color: var(--fsg_red); color: white;}
.form-state.submitted,
.upload-state.submitted {background-color: color-mix(in srgb, var(--fsg_cyan_light) 50%, transparent); }
.upload-state.neutral {background-color: white;}

/* login */
.frame-type-felogin_login {max-width:500px; margin:0 auto 15px; background-color:white; border:none; padding:20px; border-radius:5px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px;}
.frame-type-felogin_login h3 {display:none;}
.frame-type-felogin_login fieldset {border:none; padding:0;}
.frame-type-felogin_login legend {display:none;}
.frame-type-felogin_login label {margin-bottom:15px;}
.frame-type-felogin_login input {display:block; width:100%; height:30px; margin-top:5px; padding:0 8px; border-radius:5px;  border:solid 1px var(--border);}
.frame-type-felogin_login input[type="submit"] {padding:7px; height:auto; background-color:var(--fsg_gold); color:var(--txt_black); border:none; cursor: pointer; transition: 0.3s;}
.frame-type-felogin_login input[type="submit"]:hover {background-color:var(--fsg_red); color:white;}
/* status/flash messages inside the login box: no green list chevron, flush left.
   #maincol prefix needed to out-specify the generic "#maincol ul li::before" rule. */
#maincol .frame-type-felogin_login ul {padding-left:0; list-style:none;}
#maincol .frame-type-felogin_login ul li {margin-left:0;}
#maincol .frame-type-felogin_login ul li::before {content:none;}

/* My Account e-mail edit/info toggle: summary shows only the icon (no triangle);
   inline so the panel opens left-aligned on a new line under the e-mail. */
#maincol .fsg-email-edit {display:inline;}
#maincol .fsg-email-edit summary {list-style:none; display:inline; cursor:pointer; color:var(--fsg_blue);}
#maincol .fsg-email-edit summary::-webkit-details-marker {display:none;}
#maincol .fsg-email-edit summary::marker {content:"";}
#maincol .fsg-email-edit > div {text-align:left; clear:both;}

label[for="tx-felogin-input-logout"] {margin-bottom:5px;}
#tx-felogin-input-logout {margin-top:15px;}

/* registration */
.tx-srfeuserregister-pi1 fieldset {border:none; padding:0;}
.tx-srfeuserregister-pi1 legend {font-size:1.4rem;}
.tx-srfeuserregister-pi1 dt {display:block;}
.tx-srfeuserregister-pi1 dd {display:block; overflow:hidden; margin:0 0 10px 0;}
.tx-srfeuserregister-pi1 input[type="submit"] {width:100%;}
.tx-srfeuserregister-pi1 input[type="radio"] {float:left; margin:4px 6px 0 0;}
.tx-srfeuserregister-pi1-error {color:var(--fsg_red); margin:0 !important; font-size:1.1rem;}

form#tx-srfeuserregister-pi1-fe_users_form fieldset {max-width:600px;}

.layout-100.layout-intended .tx-srfeuserregister-pi1 {max-width:500px; margin:0 auto;}
.layout-100.layout-intended .tx-srfeuserregister-pi1 form {max-width:500px; margin:0 auto; background-color:white; border:none; padding:20px; border-radius:5px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px;}

/* judge registration */
.x-table-layout .x-panel img {max-width: 16px !important;}
.x-panel-noborder .x-panel-body-noborder {border-width: 1px !important;}
.x-panel-body,
.x-panel-body-noheader, 
.x-panel-mc .x-panel-body {border-color: silver !important;}
.x-list-body dt em {font-size: 12px !important;}
.user-fsgregister-pi1 fieldset #tx_frontendformslib-data-fe_users-user_fsgjudges_connected_unies,
.user-fsgregister-pi1 fieldset #tx_frontendformslib-data-fe_users-user_fsgjudges_judge_specialfields {margin-left: 0px !important; margin-top: 10px}
fieldset#step_4 label.tx-frontendformslib-label.tx-frontendformslib-label-normal {margin-right: 5px;}

/* judge selection */
.user-fsgjudges-pi1 {container-type: inline-size; container-name: fsgjudges;}
.judges-selection {display: flex; flex-direction: column; gap: 40px;}
@container fsgjudges (min-width: 1500px) {.judges-selection {flex-direction: row; align-items: flex-start;}}

/* FSG extensions */
p.error, 
span.error {font-weight:bold; color:var(--fsg_red);}
p.success, 
span.success {font-weight:bold; color:#008800;}
p.message {font-weight:bold;}

.user-fsgevents-pi1 .goodtogo {background-color:#8cff95;}
.user-fsgevents-pi1 .unavailable {border-left:4px solid #666; color:#888; font-style:italic;}
.user-fsgevents-pi1 option:hover {background-color:#ffa;}
.user-fsgevents-pi1 option:hover {background-color:#ffa;}
#overDiv * {margin:0; font-size:13px;}
#overDiv ul, 
#overDiv li {margin-left:5px; padding-left:5px;}

.user-fsgevents-pi1 table.overview th {vertical-align:top; text-align:left;}
.user-fsgevents-pi1 table.overview td img {vertical-align:middle;}
.user-fsgevents-pi1 table.overview select {padding:0;margin:0;border:1px solid #ccc; }
.user-fsgevents-pi1 td.bgred {background-color:#be1128;}
.user-fsgevents-pi1 td.bggreen {background-color:#11be28;}
.user-fsgevents-pi1 td.bggrey {background-color:#bbbbbb;}
.user-fsgevents-pi1 input.counter {color: var(--fsg_red); margin: 0px; padding: 0px; border-style:none; border-width:0; text-align: right; background-color: #F1F1F1;}
.user-fsgticketing-controller input.counter {width: 15px; color: var(--fsg_red); margin: 0px; padding: 0px; border-style:none; border-width:0; text-align: right; background-color: #F1F1F1;}
.user-fsgregister-pi1 ul li {display:flex !important; flex-wrap:wrap;}
.user-fsgregister-pi1 #notes ul li {display: inherit !important;}
.user-fsgregister-pi1 ul li p {width:100%;}
.user-fsgregister-pi1 fieldset {border:none; padding:0; max-width:600px;}
.user-fsgregister-pi1 fieldset > div {margin-bottom:18px;}
.user-fsgregister-pi1 legend {display:none;}
.user-fsgregister-pi1 h2:first-child {margin-top: 30px;font-size: 4.2rem;}
.user-fsgregister-pi1 h3 {margin-top: 30px;}
.tx-frontendformslib-submitbuttons {display:flex; gap:10px; margin-top:15px;}
.tx-srfeuserregister-pi1-notice {margin-top:10px; font-style:italic;}
.tx-srfeuserregister-pi1-trash a {color:var(--fsg_red);}
.user-fsgregister-pi1 {max-width: 952px;}
.user-fsgregister-pi1 table#members, 
.user-fsgregister-pi1 table#alumni {width: fit-content; min-width: 60%;}
@media only screen and (max-width:550px) {
  .user-fsgregister-pi1 table#members, 
  .user-fsgregister-pi1 table#alumni {width: 100%;}
}
.user-fsgsponsors-pi1 {max-width:600px;}
.user-fsgsponsors-pi1 fieldset {border:none; padding:0;}
.user-fsgsponsors-pi1 fieldset legend {display:none;}
.user-fsgsponsors-pi1 .form-group {margin-bottom:10px;}
.user-fsgsponsors-pi1 input[type="submit"] {margin-top:15px;}
.user_fsgsponsors_pi1_chars {margin:8px 0 15px 0;}
.tx_frontendformslib-fe_users-user_fsgbase_tx_user_fsgbase_mobilephone, 
.tx_frontendformslib-fe_users-telephone {display:flex; flex-wrap:wrap; gap:1%;}
.tx_frontendformslib-fe_users-user_fsgbase_tx_user_fsgbase_mobilephone select, 
.tx_frontendformslib-fe_users-telephone select {width:15% !important;}
.tx_frontendformslib-fe_users-user_fsgbase_tx_user_fsgbase_mobilephone input, 
.tx_frontendformslib-fe_users-telephone input {width:84% !important;}
.tx_frontendformslib-fe_users-user_fsgbase_tx_user_fsgbase_mobilephone label, 
.tx_frontendformslib-fe_users-telephone label {width:100%;}
@media only screen and (max-width:640px) {
   .tx_frontendformslib-fe_users-user_fsgbase_tx_user_fsgbase_mobilephone select, 
   .tx_frontendformslib-fe_users-telephone select {width:24% !important;}
   .tx_frontendformslib-fe_users-user_fsgbase_tx_user_fsgbase_mobilephone input, 
   .tx_frontendformslib-fe_users-telephone input {width:75% !important;}
}

.tx-frontendformslib-steps {max-widtH:600px; text-align:center; margin-bottom:20px; border:solid 1px var(--silver);}
.tx-frontendformslib-steps > span {margin:0 2px;}
.tx-frontendformslib-steps-active {font-weight: bold;}
.tx-frontendformslib-example {display:block; margin-top:3px; color:var(--silver); font-size:1.2rem;}
.tx-fsg-scoring-penalty-publishing #main-table {width:100% !important; margin-top:30px;}

/* edit data */
h2#questions {margin-top:25px;}

/* user list */
.list-container-inner {display:flex; flex-wrap:wrap; gap:2%;}
.list-container-inner .user-container {width:49%; display:flex; flex-wrap:wrap; margin:10px 0; overflow:hidden; border-radius: 0.5em; border: none;}
.list-container .user-img {width:30%; min-width: 100px; overflow:hidden;}
.list-container .user-img img {max-width:100%; height:auto; display:block; border-radius: 50%;}
.list-container-inner .user-container .user-infos {width:70%; padding:20px;}
.list-container td.first {width: 20%; padding: 10px;}
.user-fsg-controller-users table.overview .user-img {max-width: 50px;}
.fsg-profile-circle img {border-radius: 50%; display: block; margin: 10px auto; max-width: 140px; max-height: 140px; width: auto; height: auto;}
.fsg-misc-details-wrapper {display: flex; align-items: flex-start; gap: 20px;}
.fsg-misc-details-image {order: 2; flex-shrink: 0; max-width: 300px;}
.fsg-misc-details-info {order: 1; flex: 1; min-width: 0;}
@media (max-width: 650px) {
    .fsg-misc-details-wrapper {flex-direction: column;}
    .fsg-misc-details-image {order: 1; width: 100%; max-width: 100%;}
    .fsg-misc-details-info {order: 2; width: 100%;}
}

/* menu lvl3 */
#maincol .menulevel3 {padding:0; margin:0; display:flex; flex-wrap:wrap;  margin-bottom:25px;}
#maincol .menulevel3 li {margin:0; padding:0;}
#maincol .menulevel3 li::before {display:none;}
#maincol .menulevel3 li a {display:block; font-size:1.4rem; padding:8px 10px; text-decoration: none; color:white; background-color:var(--silver); margin: 0 0 2px 2px;}
#maincol .menulevel3 li.first {margin-right:3px;}
#maincol .menulevel3 li.first:not(.cur) a {background-color:var(--fsg_gold); color:black;}
#maincol .menulevel3 li a:hover,
#maincol .menulevel3 li.first:not(.cur) a:hover,
#maincol .menulevel3 li.act a,
#maincol .menulevel3 li.cur a {background-color:var(--fsg_red); color:white;}


/* socila media */
ul.socialmedia {display: grid; gap: 0px 10px; grid-template-columns: repeat(auto-fit, minmax(115px, 1fr)); padding: 0px !important; margin:0; list-style-type:none;}
.socialmedia li {margin-bottom:8px;}
.socialmedia li::before {display: none !important;}
.socialmedia .icon {display:inline-block; vertical-align:middle; margin-right:8px; color:white; font-size:1.5em; line-height:1.6em; width:1.6em; height:1.6em; border-radius:100%; text-align:center;}
.socialmedia .icon::before {font-family: var(--font_brands); margin-right:0;}
.socialmedia i {background-color: var(--txt_black);}
.socialmedia .rss i::before {font-family: var(--font_icons);}

#maincol h3.socialmedia {font-size: 3.2rem;}
#maincol ul.socialmedia {grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); max-width: 1111px;}
#maincol .socialmedia .icon {font-size:2.5em;}

/* footer */
#wrapper > footer {margin-top:50px;  background-color:rgba(249,250,251,1); border-top: 1px solid var(--border);}
.footerinner {display:flex; flex-wrap:wrap; justify-content: space-between; padding:30px 15px;}
.footerinner p {margin-top:0;}
.footerinner p:last-child {margin-bottom:0;}
.footerinner ul {padding:0; margin:0; list-style-type:none;}
.footerinner li {margin-bottom:8px;}
.footerinner h2 {font-size: 2.3rem; margin-bottom: 0 !important;}
footer .partners {width:100%;}
footer .section-inner {max-width: unset;}

/* legal info */
footer div#c5607 span {white-space: nowrap;}
@media only screen and (min-width: 920px),
       only screen and (max-width: 480px) {
  footer div#c5607 ul {display: grid;  gap: 0px 10px; grid-template-rows: repeat(2, 1fr); grid-auto-flow: column;}
}
@media only screen and (max-width: 325px) {
   footer div#c5607 ul {display: unset;}
}

/* slick slider */
/* Arrows */
.slick-prev,
.slick-next {font-size:0; line-height:0; position:absolute; top:48%; display:block; width:20px; height:20px; padding:0; color: transparent; border: none; outline: none; background: transparent; z-index:999; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%);}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {color:transparent; outline:none; background:transparent;}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {opacity: .75; color: var(--fsg_gold); cursor: pointer;}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before{opacity: .25;}
.slick-prev:before,
.slick-next:before {font-family: var(--font_icons); font-style:normal; font-weight:400; font-size:3.2rem; line-height: 1; opacity:1; color: white; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
.slick-prev {left: 15px;}
.slick-prev:before {content:'\f053';}
.slick-next {right:15px;}
.slick-next:before {content:'\f054';}
.slick-dots {display: flex; justify-content: center; list-style: none; position:absolute; left:0; right:0; bottom:20px; padding: 0; margin: 15px 0;}
.slick-dots li {margin: 0 8px;}
.slick-dots button { width: 18px; height: 18px; border-radius: 100%; background-color: rgba(255,255,255,.9); border: none; text-indent: -9999px; cursor: pointer;}
.slick-dots .slick-active button { background-color: rgba(238,127,0,.9);}
figure.video {display:block;}
.video-embed {position: relative; padding-bottom:56.25%; padding-top:30px; height:0; overflow:hidden;}
.video-embed iframe,
.video-embed object,
.video-embed embed {position:absolute; top:0; left:0; width:100%; height:100%;}
#maincol iframe[src*="youtube"] {width:100%; height:auto; aspect-ratio: 16/9;} 
#user_fsgbase_pi2_form {margin-bottom:25px;}

/* after login */
#auth #topbox.section-inner {max-width:100%; margin:0; padding-left:20px; padding-right:20px;}
#auth #innerwrapper.section-inner {max-width:100%; margin:0; padding:0 20px;}
#auth #topbox a#homelink {top:10px;}
#auth #breadcrumb {padding:8px 20px; max-width: 100%; font-size:1.1rem;}
#auth .pagetitle-as-header {display:flex; max-width: 952px; flex-wrap:wrap; justify-content: space-between; align-items: center;}
#auth div#headerimg:not(.home) {display:none;}
#auth .col-3 {width:20%; width:223px; padding-right:0; flex-shrink: 0;}
#auth .col-9 {width:90%;}
#auth #maincol:not(.home) .cols-2-inner,
#auth footer .section-inner {margin: 0px; max-width: unset;}

#auth #maincol:not(.home) .text-frame,
#auth #maincol:not(.home) .frame-type-textmedia,
#auth #maincol:not(.home) .frame-type-textpic,
#auth #maincol:not(.home) .frame-type-image,
#auth #maincol:not(.home) .frame-layout-3,
#auth #maincol:not(.home) iframe,
#auth #maincol:not(.home) table.data,
#auth #maincol:not(.home) .news-single,
#auth #maincol:not(.home) .frame-limitedwidth {max-width:952px;}

#auth #sidenavtoggler {font-size:0.8rem; cursor:pointer;top: 5px;left: 127px;position: absolute;}
#auth #sidenavtoggler::before {content:"\e24e"; font-family: var(--font_icons); margin-right:8px; font-size: 1.8rem;vertical-align: sub;}
body[data-sidebar-closed="true"]::before{content:'';position:fixed;left:0;top:80px;width:3px;outline:7px solid transparent;height:var(--sidenav-height, 300px);background:var(--fsg_gold);pointer-events:none;z-index:999;}
#auth #sidenavtoggler i {margin-right:8px;}
#auth #innerwrapper {height: 100%; transition: all 0.3s ease-in-out;}
#auth #innerwrapper #leftcol {transition: all 0.3s ease-in-out; opacity: 1; visibility: visible; margin-left:0; transform:translateX(0);}
#auth #innerwrapper #maincol {transition: all 0.3s ease-in-out;}
/*#auth #innerwrapper.closed {padding-left:0;} */
#auth #innerwrapper.closed #leftcol {opacity: 0; visibility: hidden; margin-left:-223px; transform:translateX(-223px);}
#auth #innerwrapper.closed #maincol {width:100%; padding:0;}
/* show sidebar as overlay when preview is active */
#auth #innerwrapper.closed.sidenav-preview #leftcol {position:fixed;top:80px;left:0;z-index:1001;background:rgba(255, 255, 255, 0.55);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 4px 18px rgba(0, 0, 0, 0.12);border-right:1px solid rgba(0, 0, 0, 0.08);padding:15px;opacity:1;visibility:visible;margin-left:0;transform:translateX(0);width:223px;max-height:calc(100vh - 80px);}
/* keep leftcol out of layout flow when closed, prevent reflow on hide */
#auth #innerwrapper.closed #leftcol {position:fixed;left:-300px;transition:opacity 0.3s ease-in-out,visibility 0.3s ease-in-out;}
/* open state */
#auth #innerwrapper #leftcol {position:sticky;top:20px;align-self:flex-start;overflow:visible;max-height:calc(100vh - 20px);overflow-y:auto;scrollbar-width:none;transition:opacity 0.3s ease-in-out,visibility 0.3s ease-in-out;}
#auth #innerwrapper #leftcol::-webkit-scrollbar {display:none;}


body:not([data-sidebar-closed="true"]) #auth #innerwrapper.closed #leftcol {display: none;}

/* DataTables */
table.dataTable {width: auto !important; margin: 0px !important; clear: both;}
div.dt-container { margin-bottom: 15px; display: flow-root; font-size: 1.2rem;}
div.dt-container tbody {background-color: white !important;}
div.sql_query_all div.dt-buttons { float: left; margin-right: 20px; font-size:14px;}
button.dt-button {padding: 0em 0.3em !important;}
div.dt-button-collection div[role="menu"] { display: flex; flex-flow: column;}
div.dt-button-collection span.dt-button-spacer.bar:nth-child(1)  {order: 99; color: red;}
div.dt-button-collection button.dt-button.dtsr-removeAllStates {order: 100; color: var(--fsg_red);}
div.dt-button-collection button.dt-button.td-createState { color: var(--fsg_green);}
div.dt-button-collection button.dt-button {line-height: 1.5em;}
div.dt-button-collection .dt-button-active:after {color: var(--fsg_green);}
div.dt-length { font-size: 12px; float: left; margin-right: 20px;}
div.dt-length select.dt-input {padding: 1px;}
div.dt-search { clear: right;}
div.dt-search label {color: var(--gray-dark); font-size: 8pt;}
.dt-search label.regex-checkbox { display: flex; height: 17px;}
div.dt-search input{padding:0.3em !important;}
div.dt-info { color: var(--gray-dark); font-size: small; padding: 0.8em 0; clear: both;}
span.dt-column-order {left: 0px !important;}
.dt-column-title {white-space: nowrap;}
.dt-orderable-asc span.dt-column-title,
.dt-orderable-desc span.dt-column-title {padding-left: 8px;}

/* Compact "slanted" table view (EXT:user_fsgbase pi1 flexform "slanted_header").
   Rotate the column titles -60deg so wide tables with many short columns fit on
   one screen. Selectors are class-based (not #id) because DataTables scrollX
   renders the visible header in a cloned table inside .dt-scroll-head that keeps
   the .dt-slanted class but has no id; column widths come from the body content
   (autoWidth:false + scrollX in datatables_ce.js sizes each column to content
   and syncs head to body). Rows below stay readable because white-space:nowrap
   keeps text columns at full width while empty/short columns collapse. */
/* Header height comes from --slant-h, set per content element on the
   .sql_query_all wrapper from the "Slanted header height (px)" flexform field
   (EXT:user_fsgbase pi1; default 75px). Custom properties inherit, so the value
   reaches the scrollX header clone inside .dt-scroll-head as well. Raise it for
   lists with long column titles. */
table.dt-slanted thead th {
    height: var(--slant-h, 75px);
    white-space: nowrap;
    position: relative; /* offset parent for the absolutely positioned title */
}
table.dt-slanted thead th span.dt-column-title {
    transform: rotate(-60deg);
    transform-origin: bottom left;
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 2px;
}
table.dt-slanted thead th span.dt-column-order {
    left: 4px !important;
    /* keep the sort arrow near the top of the header regardless of its height */
    bottom: calc(var(--slant-h, 75px) * 0.56) !important;
}
/* Only show the FixedHeader clone while it is pinned to the top (position:fixed).
   When scrolling past the table it switches to position:absolute and docks at the
   table's bottom edge, briefly overlapping the last rows as a stray slanted
   header — hide that docked state. Scoped to slanted tables so other fixedHeader
   tables keep their default behaviour. */
.dtfh-floatingparent[style*="position: absolute"]:has(table.dt-slanted) {
    display: none !important;
}
td.sorting_1 { background: color-mix(in srgb, var(--fsg_green) 4%, transparent);}
td.sorting_2 { background: color-mix(in srgb, var(--fsg_gold) 4%, transparent);}
div.sql_query_all td.dt-empty { white-space: nowrap; color: #ccc;}
div.sql_query_all p.dt-empty { color: black40; margin-bottom: 20px;}
.dt-container tfoot input { width: 100%; padding: 0 1px; box-sizing: border-box;}
/* sql tool "hide footer" toggle (datatables_ce.js adds dt-no-footer-line): suppress the
   "empty footer" closing borders DataTables draws when a table has no tfoot - with
   scrollX they render as a container-wide line below the table */
div.dt-container.dt-no-footer-line.dt-empty-footer .dt-scroll-body {border-bottom: none;}
div.dt-container.dt-no-footer-line.dt-empty-footer tbody > tr:last-child > * {border-bottom: none;}
html.dark .dt-container.dt-no-footer-line.dt-empty-footer table.dataTable {border-bottom: none;}
/* sql tool: shrink the DataTables container to the table width (datatables_ce.js adds
   dt-fit after init) so search/paging/info hug the table instead of the window edge */
div.dt-container.dt-fit {width: fit-content; min-width: 0; max-width: 100%;}
div.sql_query_all table.dataTable i:not(.sm-icon) {display: none;}
div.DTE_Field select {color: black;}

/* tbl: fix for some tables  */
div.sql_query_all th.dt-orderable-asc,
div.sql_query_all th.dt-orderable-desc,
div.sql_query_all th.dt-ordering-asc,
div.sql_query_all th.dt-ordering-desc {padding-right: 0px !important;}
div.dtfh-floatingparent.dtfh-floatingparent-head {font-size: 1.2rem;}
div.dtfh-floatingparent.dtfh-floatingparent-head th.dt-orderable-asc,
div.dtfh-floatingparent.dtfh-floatingparent-head th.dt-orderable-desc,
div.dtfh-floatingparent.dtfh-floatingparent-head th.dt-ordering-asc,
div.dtfh-floatingparent.dtfh-floatingparent-head th.dt-ordering-desc { padding-right: 0px !important;}
p.sql_query_download_tbl {display: none;}

/* SQL Schedule Detailed Table Blocks */
div#scheduleTBs > div {float: left; width: 2px; color: LightGray; background: LightGray;}
div#scheduleTBs > div.scheduleTB {width: 3px; color: white; background-color:white;}

.wsnw {white-space: nowrap;}
.user-fsg-controller-documents-cost-bom-plugin form {width: fit-content;}

/* components */
/* modal */
.modal-overlay{position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(11,18,32,0.5); z-index: 1000; padding: 20px;}
.modal-overlay[hidden]{display:none}
.modal { background: white; max-width: 90%; width: auto; box-shadow: 0 18px 40px rgba(11,18,32,0.25); overflow: auto;  max-height: calc(100vh - 80px); padding: 18px 18px 20px; position: relative;}
.modal-header {display: flex; align-items: center; justify-content: space-between; gap: 16px;}
.modal-title {margin: 0;}
.modal-close {background: none; border: 0; font-size: 1.1rem; color: #6b7280; cursor: pointer; padding: 8px; border-radius: 8px;}
.modal-close:focus {outline: 2px solid rgba(15,98,254,0.15); outline-offset: 2px;}
.modal-body {margin-top: 12px; color: #0b1220; line-height: 1.5;}
@media (max-width:420px){
    .modal {padding: 14px;}
}

/* Marked/selected text and search highlights */
::selection { background-color: var(--fsg_gold); color: var(--txt_black);}
::-moz-selection { background-color: var(--fsg_gold); color: var(--txt_black); }
::target-text { background-color: var(--fsg_gold); color: var(--txt_black); }
mark { background-color: var(--fsg_gold); color: var(--txt_black);}


/* mobile optimize */
@media only screen and (max-width:1440px) {
   #auth #maincol:not(.home) .news-list-view .article {width:32%;}
}

@media only screen and (max-width:1200px) {
   #content .ce-textpic.ce-below img,
   #content .ce-textpic.ce-above img {width:100%; height:auto;}
}

@media only screen and (max-width:1024px) {
   .servicebar,
   .navbar #topnav,
   #leftcol,
   #sidenavtoggler {display:none;}
   #mobile-header {display:flex;}
   #topbox {padding:10px 15px;}
   #topbox a#homelink {position:static; width: 95px;}
   #topbox a#homelink img {width: 100%; height: auto;}

   .fullwidth-grid {padding:40px 0;}

   .layout-30-70 #maincol {width:100%; padding-left:0;}
   .layout-70-30 > .col-9 {width:75%;}
   .layout-70-30 > .col-3 {width:25%;}

   .home .news-list-view .article:last-child {display:none;}
   .news-list-view .article {width:32%;}
   #auth #maincol:not(.home) .news-list-view .article {width:49%;}
}

@media only screen and (max-width:991px) {
  /* images */
  #maincol .ce-intext .ce-gallery {max-width:320px; height:auto;}
  #maincol .ce-intext .ce-gallery figure {display:block;}
  #maincol .ce-intext .ce-gallery img {width:100%; height:auto;}
}

@media only screen and (max-width:768px) {
  h1 {font-size:3.6rem;}
  .col-4 {width:49%; margin-bottom:20px;}

  .layout-70-30 > .col-9 {width:100%;}
  .layout-70-30 > .col-3 {width:100%;}
  .layout-70-30 #maincol {margin-bottom:30px; padding-right:0;}

  /* flexgrid */
  .flex-grid .col-4 {width:100%;}
  .flex-grid .col-4 .ce-textpic {display:flex; flex-wrap:wrap; justify-content:space-between;}
  .flex-grid .col-4 .ce-textpic .ce-gallery {width:30%; margin-top:5px;}
  .flex-grid .col-4 .ce-textpic .ce-bodytext {width:68%;}

  .flex-grid .col-6 {width:100%; margin-bottom:20px;}

  /* images */
  #maincol .ce-intext .ce-gallery {max-width:220px;}

  .home .news-list-view .article:last-child {display:block;}
  .home .news-list-view .article,
  #maincol.col-9 .news-list-view .article {width:49%; margin-bottom:15px;}

  /* userlist */
  .list-container .user-img {width:50%;}
  .list-container .user-img img {max-width:50%; height:auto; display:block;}
  .list-container-inner .user-container .user-infos {width:100%; padding:10px;}
  .list-container-inner .user-container .user-infos a {word-break: break-all;}
}

@media only screen and (max-width:768px) {
  /* tables */
  .text-frame figure.table {display:block; width:100%; overflow-x:auto;}
  .text-frame table.contenttable {margin-bottom:0;}
  .contenttable,
  .table-fsg2,
  .table-fsg1 {width: 750px; min-width: 750px;}
}  

@media only screen and (max-width:640px) {
  :root {
    --Logos_image_width: 100px !important;
  }      
  /* grids */
  /* full width bg */
  .fullwidth-grid {padding:30px 0;}

  /* flex grids */
  .flex-grid .col-6 {width:100%; margin-bottom:20px;}
  .flex-grid .col-4 .ce-textpic .ce-gallery {width:100%; margin-top:0;}
  .flex-grid .col-4 .ce-textpic .ce-bodytext {width:100%;}

  /* news */
  .news-single .news-img-wrap {float:none; margin-left:0; margin-bottom:20px;}

  /* login */
  .tx-felogin-pi1 input[type="password"],
  .tx-felogin-pi1 input[type="text"]  {width:100%;}

  .sponsoren_logo_wrap {gap: 20px 8%; }
}

@media only screen and (max-width:480px) {

  #auth #innerwrapper.section-inner, 
  .home .section-inner-grid,
  .section-inner {padding: 0 10px;}

   .col-4 {width:100%; margin-bottom:30px;}
   .col-4:last-child {margin-bottom:0;}

   /* images */
   #maincol .ce-intext .ce-gallery {float:none; width:100%; max-width:none; margin:10px 0 !important;}
   #maincol .ce-intext .ce-gallery img {width:100%; height:auto;}
   #maincol .ce-below .ce-gallery,
   #maincol .ce-above .ce-gallery {width:100%;}
   /* #maincol .ce-below .ce-gallery img,
   #maincol .ce-above .ce-gallery img {width:100%; height:auto;} */
   #maincol .ce-textpic .ce-outer
   #maincol .ce-textpic .ce-inner {position:static; float:none;}

   .home .news-list-view .article,
   #maincol.col-9 .news-list-view .article,
   #auth #maincol:not(.home) .news-list-view .article {width:100%;}

  /* user list like ot */
  .list-container-inner .user-container {width:100%;}
  .list-container .user-img {width:30%;}
  .list-container-inner .user-container .user-infos {width:68%; padding: 5px 0 0 10px;}
}

@media only screen and (max-width:374 px) {
  :root {
    --Logos_image_width: 80px !important;
  }         
  /* news */
  .news-single .news-img-wrap img {width:100%; height:auto;}

  /* user list like ot */
  .list-container-inner .user-container .user-infos {width:100%;}
}

/* Responsive data table under 650px */
@media only screen and (max-width: 650px) {
    table.data, table.data tbody, table.data tr, table.data th, table.data td { display: block; width: 100%; }
    table.data tr { margin-bottom: 8px;}
    table.data tr:last-child { border-bottom: none; }
    table.data th { background: none; border-bottom: none; font-weight: bold; text-align: left; }
    table.data td { text-align: left !important; }
}

/* Judging group gallery (MyAccount): round profile images like the queue PDF */
.judge-group-gallery { display: flex; flex-wrap: wrap; gap: 18px; margin: 10px 0 20px; align-items: flex-start; }
.judge-group-card { width: 150px; text-align: center; }
.judge-group-card img,
.judge-group-card .judge-group-noimg { width: 90px; height: 90px; border-radius: 50%; object-fit: cover; display: block; margin: 0 auto; }
.judge-group-card .judge-group-noimg { background: var(--gray-f5); color: #999; font-size: 0.75em; line-height: 90px; }
/* reserve two lines for the name so the company lines align across all cards */
.judge-group-name { font-weight: bold; margin-top: 6px; font-size: 0.9em; line-height: 1.25; min-height: 2.5em; display: flex; align-items: flex-end; justify-content: center; }
.judge-group-company { color: #777; font-size: 0.8em; line-height: 1.3; }
.judge-group-role { color: var(--fsg_blue); font-weight: bold; font-size: 0.8em; margin-top: 2px; }

/* Responsive judge table */
@media only screen and (max-width: 650px) {
    .judge-table thead { display: none; }
    .judge-table, .judge-table tbody, .judge-table td { display: block; width: 100%; }
    /* card per team: 2-column grid — Slot|Bay, Team|Car, Uploads spanning both.
       Cells may shrink (min-width: 0); ONLY the team name is cut with an ellipsis */
    .judge-table tr { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 10px; border: 1px solid var(--border); padding: 5px; background: white; }
    .judge-table tr:nth-child(2n) { background: var(--gray-f5); }
    .judge-table td { border: none; position: relative; box-sizing: border-box; padding-left: 65px; min-width: 0; }
    .judge-table td:nth-of-type(3) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .judge-table td:before { position: absolute; left: 10px; padding-right: 10px; white-space: nowrap; font-weight: bold; color: var(--fsg_blue); }

    /* Labels for each cell */
    .judge-table td:nth-of-type(1):before { content: "Slot:"; }
    .judge-table td:nth-of-type(2):before { content: "Bay:"; }
    .judge-table td:nth-of-type(3):before { content: "Team:"; }
    .judge-table td:nth-of-type(4):before { content: "Car:"; }
    .judge-table td:nth-of-type(5):before { content: "Uploads:"; }

    /* Uploads row spans both columns, single line */
    .judge-table td:nth-of-type(5) { grid-column: 1 / -1; padding-left: 10px; padding-top: 8px; }
    .judge-table td:nth-of-type(5):before { position: static; display: inline; margin-right: 8px; }

    /* Keep scrollbar disabled for responsive view */
    .table-scroll:has(.judge-table) { overflow-x: visible; }
}