/* Normalize. Uwaga - wersja została lekko zmodyfikowana na potrzeby
 * kompatybilności z USOSweb. */

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
  border-collapse: collapse;

  /* Tę regułę trzeba było wyciąć, ponieważ jej użycie overriduje atrybut
   * cellspacing, który niestety jest w USOSwebie powszechnie używany. Można
   * będzie do niej powrócić, jeśli zastąpimy wszelkie wystąpienia
   * "cellspacing" odpowiednim wyrażeniem CSS. */

  /*border-spacing: 0;*/
}

td,
th {
  padding: 0;
}/* Globalne style elementów, które są niezależne od zagnieżdżenia, id, ani klasy.
 * Ten plik powinien pozostać możliwie mały, ale nie przeszkadzać we wprowadzaniu
 * nowych pomysłów designerskich (nie opartych na wrtext). */

:root {
    /* TODO te kolory powinny być zdefiniowane w USOS-UI */
    --font-color-reverse: #d6d3fd;
    --background-reverse: #333340;
}

usos-footer > #footer-logo img {
    height: 5rem;
}

cas-bar, uw-cas-bar {
    font-size: 0.75rem;
}

a { color: inherit; }

/* Zastąpienie HTMLowego atrybutu cellspacing. Domyślna (najczęściej stosowana
 w USOSwebie) wartość to 1, w przypadku kiedy chcemy zastosować inną wartość
 należy przedefiniować wartość border-spacing w klasie danej tabelki. */
table {
    border-collapse: separate;
    border-spacing: 1px;
}

/* Odnośniki. W większości miejsc będą wyglądać zawsze tak samo. */

a, a:visited, a:active { cursor: pointer; text-decoration: none; }
a:hover { text-decoration: underline }
a.newtab { target-new: tab; }

/* h1 celowo nie ma górnego marginesu, ponieważ zawsze jest tylko jedno h1 na
 * stronie. */

h1 { font-size: 25px; font-weight: normal; margin: 0 0 0.67em 0; }

/* Ta podklasa h1 dziedziczy wygląd ze swojego kontenera. Można jej użyć np.
 * w {layoutCoverTitle}. */

h1.uwb-inline-heading,
h2.uwb-inline-heading {
    display: inline;
    font-size: inherit;
    font-weight: inherit;
    margin: inherit;
}

/* http://stackoverflow.com/questions/8554043/what-is-clearfix */

.uwb-clearfix:after {
    content: ".";
    visibility: hidden;
    display: block;
    height: 0;
    clear: both;
    font-size: 0;
    line-height: 0;
}

/* Globalne style umożliwiające wyświetlenie elementów jako tabele.
 * Należy używać ich wtedy, gdy elementy te NIE reprezentują tabeli
 * w znaczeniu "arkusza danych", a raczej są wyświetlane jako tabele
 * z powodów "designerskich". Użytkownicy screenreaderów nie będą
 * wtedy takich elementów postrzegali jako "arkusze danych". */

.layout-table { display: table; }
.layout-row { display: table-row; }
.layout-cell { display: table-cell; }

/* Tych klas używamy do kontroli, które fragmenty strony mają być widoczne
 * na wydruku. */

@media print {
    .do_not_print { display: none }
}
@media screen {
    .do_not_screen { display: none }
}

/* Równa szerokość elementu select w porównaniu
 * do pozostałych elementów wprowadzających dane. */
select {
    -ms-box-sizing:content-box;
    -moz-box-sizing:content-box;
    -webkit-box-sizing:content-box;
    box-sizing:content-box;
}
/* CSS związany stricte z layoutem strony. Plik nie powinien zawierać reguł,
 * które wpływają na wyświetlanie treści stron, jedynie na wyświetlanie części
 * poza główną treścią strony. */

/* Lewe menu */

menu-left .ue-box { margin-top: 30px; }
menu-left .ue-logo { padding: 0 4px 0 0; vertical-align: middle; }
menu-left .ue-nazwa { font-family: Arial, Calibri, Garamond, Trebuchet, Tahoma, Verdana, sans-serif; font-size: 15px; font-weight: bold; vertical-align: middle; }

/* Treść */

#layout-c22 { vertical-align: top; }
#layout-warning-box { position: relative; } /* See #10161 */
#layout-warning { position: absolute; display: block; background: #f00; color: #fff; padding: 2px 15px; font-size: 11px; right: 0; box-sizing: border-box; text-align: center; top: 0; opacity: 0.7; }
#layout-warning:hover { text-decoration: none; }
main:focus { outline: 0; }

/* Stopka */

usos-copyright p { font-family: 'Segoe UI', Tahoma, Helvetica, Segoe, Arial, 'Lucida Grande', Verdana, sans-serif; font-size: 11px; color: #505050; margin: 10px; }
usos-copyright a { color: #505050; }
usos-copyright a:focus {color: #272727; background: #ffa; outline: 1px dotted; }
/* Style, które chcemy, aby były dostępne na każdej stronie (niezależnie od
 * tego, czy strona jest klasy wrtext). W razie potrzeby można tutaj przenosić
 * klasy z wrtext.styles.css, ale tylko po odpowiednim nadaniu im bardziej
 * unikalnych prefiksów. */


/* Stara implementacja {tip}, nie oparta o jQuery-USOS. */

#wrpopup { z-index: 1106; background: #FFFFE1; border: 1px solid #000; padding: 2px 5px 2px 5px; height: auto; color: #000; position: absolute; left: 0px; top: 0px; display: none; font-size: 12px }
#wrpopup .note { color: #888; font-size: 80% }

/* Nowa implementacja {tip}. */

.smarty-tip-wrapper-content .note { color: #888; font-size: 90%; line-height: 1.3; }
img.smarty-tip-wrapper { vertical-align: middle; }
img.smarty-tip-wrapper:focus { background: #ffa; outline: 1px dotted #888; outline-offset: 3px; box-shadow: 0px 0px 0px 3px #ffa; }

/* Własne style dialogów jQuery-UI. */

.ui-dialog.wrdialog1 { -webkit-box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.5); -moz-box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.5); box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.5); }
.ui-dialog.wrdialog1 .ui-dialog-titlebar-close { display: none; }
.ui-dialog.wrdialog1 .ui-dialog-content { padding: 15px; overflow: visible; }

/* Tej klasy używamy w elemencie X, aby pozbyć się dodatkowych marginesów
 * górnych i dolnych bezpośrednich dzieci elementu X (w miejscach, w których
 * marginesy te niepotrzebnie kolidują z paddingiem elementu nadrzędnego).
 * Najczęściej klasa przyda się w przypadku zbioru paragrafów, lecz można jej
 * użyć dla dowolnych innych elementów. */

.uwb-paragraphs > *:first-child { margin-top: 0 !important; }
.uwb-paragraphs > *:last-child { margin-bottom: 0 !important; }
.uwb-paragraphs > p { max-width: 879px; line-height: 1.4; }

/* Style dla pluginu {decoration2} ze Smarty */

.uwb-decorbox { background: #f7f7f7; width: 100%; }
.uwb-decorbox > tbody > tr > td:first-child { padding: 22px 30px; vertical-align: top; width: 48px; }
.uwb-decorbox > tbody > tr > td:last-child { padding: 22px 30px 22px 0; color: #888; font-size: 14px; }
.uwb-decorbox.uwb-decorbox-warning > tbody > tr > td:first-child { color: #AAB5CB; text-shadow: 1px 1px 3px rgba(0,0,0,0.1); }

/* Linki klasy wrhidden dziedziczą swój wygląd z ojca. (Nadal jednak będą się
 * podkreślać po najechaniu myszą.) */

a.wrhidden, a.wrhidden:visited, a.wrhidden:active { cursor: pointer; color: inherit; font-weight: inherit; text-decoration: inherit }
a.wrhidden:hover { color: inherit; text-decoration: underline }

/* Lista oczyszczona z punktorów */

.wrtext ul.clean { padding: 0; margin: 0; list-style: none }

/* Proste klasy pozycjonujące, żeby uniknąć dodawania wszędzie wyrównania stylami inline */

.to-right {
    text-align: right;
}
.to-left {
    text-align: left;
}
.to-center {
    text-align: center;
}
.to-top {
    vertical-align: top;
}
.to-bottom {
    vertical-align: bottom;
}
.no-style-list {
    list-style-type: none;
    margin-left: -20px !important;
}
.nobreak {
    white-space: nowrap;
}

/* Styl dla informacji ostrzegawczych, które chcemy wyświetlać użytkownikowi */

.user-warning {
    color: #c00;
    font-weight: bold;
}

table.decor, table.decor table {
    border-spacing: 0;
}
/* Odpowiednik globals.css dla stron klasy wrtext. Powinien zawierać jedynie
 * reguły postaci ".wrtext element" (bez klas, id, ani zagnieżdżenia). */

.wrtext h1 { font-size: 1.5rem; }
.wrtext h2 { font-size: 1.125rem; }
.wrtext p { margin: 12px 0 12px 0 }
.wrtext div { margin: 0; padding: 0 }
.wrtext ul { margin: 0 0 4px 0; padding-left: 20px }
.wrtext em { color: var(--secondary-variant); font-style: normal; }
.wrtext pre,
.wrtext code,
.wrtext tt { font-size: 12px; }
.wrtext form { margin: 0; }

/* Normalize usunął marginesy z checkboxów i radiobuttonów, musieliśmy
 * je przywrócić (ale tylko stron klasy wrtext). Patrz #10573. */

.wrtext input[type="checkbox"] { margin: 3px 3px 3px 4px; }
.wrtext input[type="radio"] { margin: 3px 3px 3px 4px; }

@media print {
    .wrtext input, .wrtext select { border: 1px solid #888; background: #fff; color: #000 }
    .wrtext em { font-style: italic }
}
/* Style dostępne dla stron klasy "wrtext". W razie potrzeby, część z nich
 * można wynieść do globalnego styles.css (po nadaniu im bardziej unikalnych
 * prefiksów). */

/* Drobne, często używane style. */

.wrtext h2.wrnote {
    font-size: 100%;
    font-weight: 400;
    margin: 0;
}

.wrtext .note,
.wrtext .wrnote {
    color: #646464;
    font-size: 80%;
}
.wrtext .semitransparent {
    opacity: 0.5;
}
.wrtext .disabled {
    color: #aaa;
}
.wrtext .hidden {
    display: none;
}

/* Nagłówki */

.wrtext h1 .block {
    display: block;
}

.wrtext h1 .note {
    font-size: 0.875rem;
    color: inherit;
}

/* Niestandardowe style dla odnośników. W niektórych kontekstach wyglądają
 * lepiej niż standardowe niebieskie. Nie należy tej listy zanadto rozszerzać. */

.wrtext a.wrgrey,
.wrtext a.wrgrey:visited,
.wrtext a.wrgrey:active {
    color: #646464;
    font-weight: bold;
    text-decoration: none
}
.wrtext a.wrgrey:hover {
    color: #444;
    font-weight: bold;
    text-decoration: underline
}
.wrtext a.wrnote,
.wrtext a.wrnote:visited,
.wrtext a.wrnote:active {
    color: #646464;
    font-weight: normal;
    font-size: 80%;
    text-decoration: none
}
.wrtext a.wrnote:hover {
    color: #444;
    text-decoration: underline
}
.wrtext a:focus,
.wrtext a.wrnote:focus,
.wrtext .ui-datepicker-trigger:focus {
    color: #646464;
    text-decoration: underline;
    outline: 1px dotted;
}
.wrtext a.wrnote img {
    vertical-align: top;
    margin-top: 1px
}

/* greenforms */

.wrtext .greenforms input.text,
.wrtext .greenforms select,
.wrtext .greenforms textarea {
    border: 1px solid #A4B97F;
    font-size: 11px;
    padding: 2px;
    font-weight: normal;
    vertical-align: middle
}
.wrtext .greenforms input.text:focus,
.wrtext .greenforms select:focus,
.wrtext .greenforms textarea:focus {
    background: #ffa;
}
.wrtext .greenforms input.watermark {
    font-size: 11px;
    color: #757575;
    height: 15px;
    padding: 2px 1px 2px 3px;
}
.wrtext .greenforms textarea.fixedfont {
    font-size: 15px;
}
.wrtext .greenforms input.submit,
.wrtext .greenforms button.submit {
    font-size: 10px;
    text-transform: uppercase;
    color: #fff;
    padding: 2px 5px 2px 5px;
    background: #A4B97F;
    border: 1px solid #A4B97F;
    font-style: normal;
    font-weight: normal
}
.wrtext .greenforms input.submit:hover,
.wrtext .greenforms button.submit:hover {
    background: #7C8C60;
    text-decoration: none;
    border: 1px solid #434C34;
}
.wrtext .greenforms input.submit:disabled,
.wrtext .greenforms button.submit:disabled,
.wrtext .greenforms button.submit.disabled {
    background: #c0c0c0;
    font-size: 10px;
    text-transform: uppercase;
    color: #fff;
    padding: 2px 5px 2px 5px;
    text-decoration: none;
    border: 1px solid #909090;
    font-style: normal;
    font-weight: normal
}
.wrtext .greenforms select:enabled {
    background: #FFFFFF;
}
.wrtext .greenforms select:disabled {
    background: inherit;
}
.wrtext .greenforms table.selektor_popup {
    z-index: 1105;
    background: #fff;
    border: 1px solid #A4B97F;
    padding: 0;
    height: auto;
    color: #000;
    position: absolute;
    left: 0px;
    top: 0px;
    display: none;
    font-size: 12px
}
.wrtext .greenforms table.selektor_popup tr td {
    cursor: default;
    background: #fff;
    padding: 3px 5px !important;
    border: 0
}
.wrtext .greenforms table.selektor_popup tr.highlighted td {
    background: #A4B97F;
    color: #fff
}
.wrtext .greenforms table.selektor_popup tr.highlighted td .note {
    color: #fff
}
.wrtext .greenforms table.selektor_popup tr.stats td {
    background: #7C8C60;
    color: #fff;
    font-size: 10px
}
.wrtext .greenforms table.selektor_popup tr.stats div.comment_info {
    clear: right;
    float: right;
    text-align: right;
    border-top: 1px solid #8b8;
    padding: 0 0 2px 2px;
    color: #ded;
}
.wrtext .greenforms table.selektor_popup tr.stats div.comment_notice {
    clear: right;
    float: right;
    text-align: right;
    border-top: 1px solid #8b8;
    padding: 0 0 2px 2px;
    color: #ee4;
    font-weight: bold
}
.wrtext .greenforms table.SWI_Frame div {
    border: 1px solid #C0C0C0;
    margin-top: 1px
}
.wrtext .greenforms table.SWI_Table tr:hover {
    background-color: #E3E3E3;
    cursor: pointer
}
.wrtext .greenforms table.SWI_Table td {
    padding: 5px;
    border-bottom: 1px solid #E3E3E3;
    color: #888;
    font-size: 90%;
    text-align: right
}
.wrtext .greenforms div.SWI_TextBox {
    border: 1px solid #A4B97F;
    padding-right: 3px;
    padding-top: 3px
}
.wrtext .greenforms div.SWI_TextBox input {
    border: 0;
    font-size: 11px;
    padding: 1px;
    font-weight: normal;
    color: #666;
    height: 13px;
    margin-top: 0;
    margin-left: 2px;
    margin-bottom: 3px;
    margin-right: 1px
}

/* redforms */

.wrtext .redforms input.text,
.wrtext .redforms select,
.wrtext .redforms textarea {
    border: 1px solid #C39292;
    font-size: 11px;
    padding: 2px;
    font-weight: normal;
    color: #666
}
.wrtext .redforms input.text:focus,
.wrtext .redforms select:focus,
.wrtext .redforms textarea:focus {
    background: #ffa;
}
.wrtext .redforms input.text:disabled,
.wrtext .redforms select:disabled,
.wrtext .redforms textarea:disabled {
    border: 1px solid #aaa;
    font-weight: lighter;
    color: #999
}
.wrtext .redforms select:enabled {
    background: #FFFFFF;
}
.wrtext .redforms textarea.fixedfont {
    font-size: 15px;
}
.wrtext .redforms input.submit,
.wrtext .redforms input.button {
    font-size: 10px;
    text-transform: uppercase;
    color: #fff;
    padding: 2px 5px 2px 5px;
    background: #C37070;
    border: 1px solid #C37070;
    font-style: normal;
    font-weight: normal
}
.wrtext .redforms input.submit.button-sm,
.wrtext .redforms input.button.button-sm {
    padding: 5px 30px;
}
.wrtext .redforms input.submit.button-md,
.wrtext .redforms input.button.button-md {
    padding: 10px 30px;
}
.wrtext .redforms input.submit:hover,
.wrtext .redforms input.button:hover {
    background: #a44;
    text-decoration: none;
    border: 1px solid #a44;
}
.wrtext .redforms input.submit:disabled,
.wrtext .redforms input.button:disabled {
    background: grey;
    border-color: grey;
}
.wrtext .redforms table.selektor_popup {
    z-index: 1105;
    background: #fff;
    border: 1px solid #a44;
    padding: 0;
    height: auto;
    color: #000;
    position: absolute;
    left: 0px;
    top: 0px;
    display: none;
    font-size: 12px
}
.wrtext .redforms table.selektor_popup tr td {
    cursor: default;
    background: #fff;
    padding: 3px 5px !important;
    border: 0
}
.wrtext .redforms table.selektor_popup tr.highlighted td {
    background: #C39292;
    color: #fff
}
.wrtext .redforms table.selektor_popup tr.highlighted td .note {
    color: #fff
}
.wrtext .redforms table.selektor_popup tr.stats td {
    background: #a44;
    color: #fff;
    font-size: 10px
}
.wrtext .redforms table.selektor_popup tr.stats div.comment_info {
    clear: right;
    float: right;
    text-align: right;
    border-top: 1px solid #c88;
    padding: 0 0 2px 2px;
    color: #edd;
}
.wrtext .redforms table.selektor_popup tr.stats div.comment_notice {
    clear: right;
    float: right;
    text-align: right;
    border-top: 1px solid #c88;
    padding: 0 0 2px 2px;
    color: #ff8;
    font-weight: bold
}
.wrtext .redforms table.SWI_Frame div {
    border: 1px solid #C0C0C0;
    margin-top: 1px
}
.wrtext .redforms table.SWI_Table tr:hover {
    background-color: #E3E3E3;
    cursor: pointer
}
.wrtext .redforms table.SWI_Table td {
    padding: 5px;
    border-bottom: 1px solid #E3E3E3;
    color: #888;
    font-size: 90%;
    text-align: right
}
.wrtext .redforms div.SWI_TextBox {
    border: 1px solid #C39292;
    padding-right: 3px;
    padding-top: 3px
}
.wrtext .redforms div.SWI_TextBox input {
    border: 0;
    font-size: 11px;
    padding: 1px;
    font-weight: normal;
    color: #666;
    height: 13px;
    margin-top: 0;
    margin-left: 2px;
    margin-bottom: 3px;
    margin-right: 1px
}

/* Pozostałe reguły dla elementów związanych z formularzami. */

.wrtext input.invalid {
    background-color: yellow;
    text-align: center;
}
.wrtext input.checkbox,
.wrtext input.radio {
    background: transparent
}
.wrtext .note input[type="radio"] {
    vertical-align: bottom
}

.wrtext .form_error {
    color: #d00;
    font-weight: bold;
    margin-top: 2px;
}
.wrtext .form_success {
    color: #333;
    margin-top: 2px;
}
.wrtext .form_progress {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url("loading-16-eeeeee-1.gif") no-repeat;
}
.wrtext input.wrbtn {
    color: #fff;
    padding: 2px 5px 2px 5px;
    background: #aaa;
    border: 1px solid #fff;
    font-style: normal;
    font-weight: normal
}
.wrtext input.wrbtn:hover {
    background: #363;
    text-decoration: none;
}
.wrtext select.wrstd {
    color: #000;
    font-weight: normal
}
.wrtext .submit-light {
    font-size: 80%;
    color: #707070;
    padding: 0 1px 1px 1px;
    background: #f4f4f4;
    border: 1px solid #888;
    height: 20px;
    vertical-align: middle;
    width: 62px;
    font-weight: normal
}
.wrtext .submit-light:focus {
    background: #ffa
}
.wrtext .greenbox {
    border: 1px solid #98BA9D;
    background-color: #DFF8D8;
    color: #2B6427;
    padding: 0 15px;
    margin: 0 10px 10px 10px
}
@media print {
    .wrtext input,
    .wrtext select {
        border: 1px solid #888;
        background: #fff;
        color: #000
    }
}

/* Plugin smarty {dropDownLink}. */

.wrtext div.wrDropDownMenu {
    display: none;
    position: absolute;
    margin: 0px;
    padding: 0px;
    list-style-type: none;
    border: 1px solid #888;
    border-left: 5px solid #888;
    z-index: 20;
    text-align: left;
    background: #fff;
}
.wrtext div.wrDropDownMenu a {
    display: block;
    padding: 2px 16px 3px 8px;
    color: #555;
    text-decoration: none;
    background: #fff;
}
.wrtext div.wrDropDownMenu a:hover {
    text-decoration: none;
    color: #ffffff;
    background: #888;
}

/* Tabele class="grey". */

.wrtext table.grey,
.wrtext .layout-table.grey {
    border: 1px solid #D8D8D8;
    border-collapse: collapse;
    border-spacing: 0;
}
.wrtext table.grey > * > tr > th,
.wrtext .layout-table.grey > .layout-row > .layout-cell.th {
    /* TODO: layout-cell -> layout-td+th */
    background-color: var(--primary);
    text-align: left;
    vertical-align: middle;
    padding: 5px 8px 5px 8px;
    color: var(--on-primary);
    font-weight: bold;
    border: 1px solid var(--on-primary);
    outline-offset: -4px;
}
.wrtext table.grey > * > tr > td,
.wrtext .layout-table.grey > .layout-row > .layout-cell {
    background-color: white;
    padding: 5px 8px;
    vertical-align: middle;
    border: 1px solid #DADADE;
}
.wrtext table.grey > * > tr > td .dim,
.wrtext .layout-table.grey > .layout-row > .layout-cell .dim {
    color: #888
}
.wrtext table.grey > * > :is(tr.even, tr.strong) > td,
.wrtext .layout-table.grey > * > :is(.layout-row.even, .layout-tow.strong) > .layout-cell,
.wrtext table.grey > *.autostrong > tr:nth-child(odd) > td,
.wrtext .layout-table.grey.autostrong > .layout-row:nth-child(odd) > .layout-cell {
    background: #F8F8F8;
}
.wrtext table.grey > * > tr.red > td,
.wrtext .layout-table.grey > .layout-row.red > .layout-cell {
    background: #EDC1C1
}
.wrtext table.grey > * > tr > td.red,
.wrtext .layout-table.grey > .layout-row > .layout-cell.red {
    background: #EDC1C1
}
.wrtext table.grey > * > tr.footnote > td,
.wrtext .layout-table.grey > .layout-row.footnote > .layout-cell {
    background: var(--background-secondary);
}
.wrtext table.grey > * > tr.headnote > td,
.wrtext .layout-table.grey > .layout-row.headnote > .layout-cell {
    background: var(--background-secondary);
}
.wrtext table.grey > * > tr.midnote > td,
.wrtext .layout-table.grey > .layout-row.midnote > .layout-cell {
    background: #f2f2f2;
    border-top: 1px dashed #aaa;
    border-bottom: 1px dashed #aaa;
}
.wrtext table.grey > * > tr > td.nowrap {
    white-space: nowrap;
}
.wrtext table.grey > * > tr > td.sqltableheader {
    background: #fff;
}
.wrtext table.grey > * > tr > td.sorthandle,
.wrtext .layout-table.grey > .layout-row > .layout-cell.sorthandle {
    cursor: move;
}
.wrtext table.grey > * > tr > td.sorthandle div,
.wrtext .layout-table.grey > .layout-row > .layout-cell.sorthandle div {
    width: 17px;
    height: 17px;
    background-image: url("move.png");
    background-repeat: no-repeat;
}
.wrtext table.grey > * > tr.sumowanie_first > td,
.wrtext .layout-table.grey > .layout-row.sumowanie_first > .layout-cell {
    background: #d4f1d4;
    border-top: 2px solid #8fb891
}
.wrtext table.grey > * > tr.sumowanie > td,
.wrtext .layout-table.grey > .layout-row.sumowanie > .layout-cell {
    background: #d4f1d4;
}
.wrtext table.grey > * > tr.sumowanie_suma > td,
.wrtext .layout-table.grey > .layout-row.sumowanie_suma > .layout-cell {
    background: #c1eac1;
    border-top: 2px solid #8fb891;
    border-bottom: 2px solid #8fb891;
    font-weight: bold;
}
.wrtext table.grey > * > tr > td > hr,
.wrtext .layout-table.grey > .layout-row > .layout-cell > hr {
    border: none;
    border-top: 1px solid #D8D8D8;
}
.wrtext table.grey > * > tr > td.lp,
.wrtext .layout-table.grey > .layout-row > .layout-cell.lp {
    text-align: right;
    font-size: 85%;
    opacity: 0.6;
}
.wrtext table.grey.full-width {
    width: 100%;
}

/* Tabele class="wrnav". */

.wrtext table.wrnav {
    border: 1px solid var(--border);
    border-collapse: collapse;
    border-spacing: 0;
}
.wrtext table.wrnav td.wrnavbar {
    background: var(--background-secondary);
    vertical-align: middle;
    padding: 5px 8px;
    border: 1px solid var(--border);
}
.wrtext table.wrnav > * > tr > :is(td, th) {
    padding: 5px 8px;
}
.wrtext table.wrnav > * > tr > th {
    background: var(--primary);
    vertical-align: middle;
    color: var(--on-primary);
    border: 1px solid white;
}
.wrtext table.wrnav th.wrnavbarheader input.radio,
.wrtext table.wrnav th.wrnavbarheader input.checkbox {
    background: #999
}
.wrtext table.wrnav th.wrnavbarheader a {
    color: inherit;
}
.wrtext table.wrnav th.wrnavbarheader .note {
    color: white
}
.wrtext table.wrnav > tbody > tr > td {
    border: 1px solid var(--border);
}
.wrtext table.wrnav tr.wrgrey td,
.wrtext table.wrnav td.wrgrey {
    background: #eee;
    vertical-align: top;
    color: #444;
    border: 1px solid #ccc
}
.wrtext table.wrnav tr.odd_row td {
    background-color: #F8F8F8;
}
.wrtext table.wrnav tr.even_row td {
    background: white;
}
.wrtext table.wrnav tr.footnote td {
    background: var(--background-secondary);
    border-top: 1px solid var(--border);
}
.wrtext table.wrnav tr.headnote td {
    background: var(--background-secondary);
    border-bottom: 1px solid var(--border);
}
.wrtext table.wrnav tr.midnote td {
    background: #f2f2f2;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}
.wrtext table.wrnav tr.midnote td.strong {
    background: #f4f4eb;
}
.wrtext table.wrnav td.lp {
    text-align: right;
    font-size: 85%;
}

@media print {
    .wrtext table.wrnav {
        border-left: 1px solid var(--border);
        border-top: 1px solid var(--border);
        border-right: 0;
        border-bottom: 0;
        border-spacing: 0
    }
    .wrtext table.wrnav td.wrnavbar {
        text-align: center;
        border-top: 0;
        border-left: 0;
        border-right: 1px solid var(--border);
        border-bottom: 1px solid var(--border);
    }
    .wrtext table.wrnav th.wrnavbarheader {
        border-top: 0;
        border-left: 0;
        border-right: 1px solid var(--border);
        border-bottom: 1px solid var(--border);
    }
    .wrtext table.wrnav th.wrnavbarheader2,
    .wrtext table.wrnav .wrnavbarheader2 th {
        padding: 0 4px 0 4px;
        border-top: 0;
        border-left: 0;
        border-right: 1px solid var(--border);
        border-bottom: 1px solid var(--border);
    }
    .wrtext table.wrnav tr.wrgrey td,
    .wrtext table.wrnav td.wrgrey {
        color: #000;
        border-top: 0;
        border-left: 0;
        border-right: 1px solid var(--border);
        border-bottom: 1px solid var(--border);
    }
}

/* CSS modułu "wnioski". Jest tutaj, ponieważ podczas czyszczenia CSS, struktura
 * modułu wniosków nie bardzo pozwalała na przeniesienie tego kodu odpowiednio
 * "bardziej lokalnie". */

.wrtext div.cml {
    margin: 0.4em 0.4em 0.4em 0.4em;
}
.wrtext div.cml a:visited,
.wrtext div.cml a:link,
.wrtext div.cml a:visited:active,
.wrtext div.cml a:link:active {
    font-weight: bold;
    font-size: 10px;
    color: #000099;
}
.wrtext div.cml a:visited:hover,
.wrtext div.cml a:link:hover {
    font-weight: bold;
    font-size: 10px;
    color: #881188;
    text-decoration: none;
}

/* Styl dla atrybutów placeholder HTML5 */

/* WebKit, Blink, Edge */
.wrtext input::-webkit-input-placeholder {
    font-size: 11px;
    color: #bbb;
    height: 15px;
    padding: 2px 1px 2px 3px;
    opacity: 1;
}

/* Mozilla Firefox 4-18 */
.wrtext input:-moz-placeholder {
    font-size: 11px;
    color: #bbb;
    height: 15px;
    padding: 2px 1px 2px 3px;
    opacity: 1;
}

/* Mozilla Firefox 19+ */
.wrtext input::-moz-placeholder {
    font-size: 11px;
    color: #bbb;
    height: 15px;
    padding: 2px 1px 2px 3px;
    opacity: 1;
}

/* Internet Explorer 10-11 */
.wrtext input:-ms-input-placeholder {
    font-size: 11px;
    color: #bbb;
    height: 15px;
    padding: 2px 1px 2px 3px;
    opacity: 1;
}

.wr-drop-down-menu-coordinator-position-helper {
    position: relative;
    display: inline;
}
usos-tooltip em {
    color: inherit;
}

/** deklaracje wymiarów zewnętrznego layoutu do użycia niżej */
main-panel { --main-panel-padding-length: 40px; }
usos-layout[expanded] main-panel { --main-panel-inner-width: calc(80vw - 2 * var(--main-panel-padding-length)); }
usos-layout[expanded] main-panel[left-menu-hidden] { --main-panel-inner-width: calc(100vw - 2 * var(--main-panel-padding-length)); }
usos-layout:not([expanded]) main-panel { --main-panel-inner-width: calc(1200px * 0.8 - 2 * var(--main-panel-padding-length)); }
usos-layout:not([expanded]) main-panel[left-menu-hidden] { --main-panel-inner-width: calc(1200px - 2 * var(--main-panel-padding-length)); }
.usos-ui h1 {
    color:var(--font-color);
    font-size:1.375rem;
    text-align:left;
    font-weight:500;
    line-height:1em;
    margin:0 0 1.5rem 0
}

.usos-ui h2 {
    color:var(--font-color);
    font-size:1.375rem;
    text-align:left;
    font-weight:normal;
    line-height:1em;
    margin:2rem 0 0.75rem 0
}

.usos-ui h1 .block {
    display: block;
}

.usos-ui h1 .note {
    color: inherit;
    font-size: 1.125rem;
}

.usos-ui h1 .block {
    display: block;
}

.usos-ui .note {
    font-size: 80%;
}

.usos-ui em {
    color: var(--secondary-variant);
    font-style: normal;
}
.usos-ui .greyed {
    color: var(--grey);
}

/* Tabele */

.usos-ui table > * > tr > td.strong {
    font-weight: 500;
}
.usos-ui table > * > tr > td.strong usos-tooltip {
    float: right;
}

.usos-ui table > * > tr > td.nowrap {
    white-space: nowrap;
}
.usos-ui table > * > tr > td.sqltableheader {
    background: #fff;
}
.usos-ui table > * > tr > td.sorthandle {
    cursor: move;
}
.usos-ui table > * > tr > td.sorthandle div {
    width: 17px;
    height: 17px;
    background-image: url("move.png");
    background-repeat: no-repeat;
}
.usos-ui table.full-width {
    width: 100%;
}

.usos-ui table > * > tr > td.to-left {
    text-align: left;
}

.usos-ui table > * > tr > td.to-center {
    text-align: center;
}

.usos-ui table > * > tr > td.to-right {
    text-align: right;
}

/* forms */

.usos-ui :is(input[type="text"], input[type="textbox"], input[type="file"],
input[type="email"], input[type="url"], input[type="number"],
input[type="date"], textarea, select, input:not([type])) {
    padding: 2px;
    font-weight: normal;
    font-size: 0.75rem;
    background-color: #ffffff;
    border: 1px solid var(--primary);
    color: var(--font-color);
}

.usos-ui :is(input[type="text"], input[type="textbox"], input[type="file"],
input[type="email"], input[type="url"], input[type="number"],
input[type="date"], textarea, select):disabled {
    background-color: #d0d0d0 !important;
    color: #888 !important;
}

.usos-ui :is(textarea) {
    resize: vertical;
}

.usos-ui :is(input[type="radio"]) {
    margin-left: 2px !important;
    margin-right: 2px !important;
}

.usos-ui .radiogroup-vertical > label {
    display: block;
    padding: 0.25rem 0;
}

fieldset.borderless {
    border: none;
    margin: 0;
    padding: 0.5rem;
}

fieldset.strong > legend {
    font-weight: 500;
}

fieldset.parent-hidden {
    border: none;
    margin: 0;
    padding: 0;
}

fieldset.parent-hidden legend { /* screen reader only */
    position: absolute;
    top: -1000rem;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    opacity: 0;
}

::-webkit-input-placeholder {
    color: #75738C;
    opacity: 1;
    font-size: 0.625rem;
}

:-moz-placeholder {
    color: #75738C;
    opacity: 1;
    font-size: 0.625rem;
}

::-moz-placeholder {
    color: #75738C;
    opacity: 1;
    font-size: 0.625rem;
}

:-ms-input-placeholder {
    color: #75738C;
    opacity: 1;
    font-size: 0.625rem;
}

.usos-ui :is(input.invalid) {
    background-color: #ee9892;
}

.usos-ui :is(input.valid) {
    background-color: #dff8d8;
}

/* różne */
.usos-ui .hidden { display: none; }
.usos-ui .disabled { pointer-events: none; }

/** tymczasowe hacki */

/* poprawienie styli dataTable */
.usos-ui table.dataTable {
    border-collapse: collapse;
}

.usos-ui table.dataTable > * > tr > :is(th, td) {
    padding: 0.3125rem 0.5rem;
}

/* rozciąga i poprawia selektor osoby z jQuery-USOS */
.usos-ui .selektor-jquery-usos--usos-ui { flex-grow: 1; }
.usos-ui .selektor-jquery-usos--usos-ui > div.ua-selector,
.usos-ui .selektor-jquery-usos--usos-ui :is(.text-core, .text-wrap, textarea) {
    width: -moz-available !important; width: -webkit-fill-available !important; width: stretch !important;
}

.usos-ui .selektor-jquery-usos--usos-ui .text-wrap textarea { background: none; }
.usos-ui .selektor-jquery-usos--usos-ui :is(textarea, .text-prompt, .text-tags) {
    font-family: Roboto;
    font-size: inherit;
}
.usos-ui .selektor-jquery-usos--usos-ui .text-prompt { width: calc(100% - 5px); }

/* kontrasty w zaznaczonej pozycji */
.text-core .text-wrap .text-dropdown .text-list .text-suggestion.text-selected, .ua-inline-suggestion.text-selected {
    background: var(--primary);
}

.ua-selector .text-selected .ua-note, .ua-inline-suggestion.text-selected .ua-note { color: #fff; }

.icons-hide-underline { margin-top: -1px; margin-bottom: -1px; overflow: hidden; }

:is(.wrtext, .usos-ui) usos-tooltip em { color: inherit; }
:is(.wrtext, .usos-ui) .wrnav .wrnavbarheader a:active { background: transparent; }

.fullwidth {
    width: 100%;
    width: -moz-available;
    width: -webkit-fill-available;
    width: stretch;
}

td.usos-spinner-space {
    height: 150px;
    color: #fff;
}
/* Modyfikatory ikon Material */
.icon-inline-bigger { font-size: 1.25em; }
timetable-entry [slot^=dialog-] a { color: inherit; }
timetable-entry [slot^=dialog-] a:not(:hover) { text-decoration: none; }
timetable-entry [slot=time] usos-icon.notice,
help-dialog.timetable-help-dialog usos-icon.notice { color: #ac1616; cursor: default; font-size: 0.66rem; --icon-top: -0.25rem; margin-right: 0.25rem; }

a.no-underline, a.no-underline:is(:hover, :active, :focus) {
    text-decoration: none;
}

.selected_week img.ui-datepicker-trigger { height: 1.5em; }

.timetable-wrapper { width: fit-content; max-width: var(--main-panel-inner-width); }
/* uwb-button to "abstrakcyjna" klasa przycisków; należy używać konkretnych
 * podklas (których powstanie pewnie więcej z czasem). */

.uwb-button {
    padding: 2px 10px 3px 10px;
    text-align: center;
    opacity: 1.0;
    cursor: pointer;
    box-shadow: none;
}

.uwb-button.uwb-disabled {
    cursor: default;
    opacity: 0.3;
}

.uwb-button:hover {
    text-decoration: none;
}

/* uwb-button-light - jasny przycisk, aktualnie wykorzystywany tylko w panelach
 * do przełączania stron. Do wykorzystania z ikonami jQuery-USOS (klasy
 * ua-icon). */

.uwb-button.uwb-button-light {
    color: #999;
    border: 1px solid #bbb;
    background: linear-gradient(to bottom, #fff 0%, #eee 100%);
}

.uwb-button.uwb-button-light {
    box-shadow: 0 1px 0 rgba(128, 128, 128, 0.1);
}

.uwb-button.uwb-button-light.uwb-disabled {
    box-shadow: none;
}

.uwb-button.uwb-button-light:hover {
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.4);
}

.uwb-button.uwb-button-light.uwb-disabled:hover {
    box-shadow: none;
}

/* uwb-pulsar - używać wtedy, kiedy chcemy zwrócić uwagę użytkownika na
 * istnienie przycisku. NIE NADUŻYWAĆ! (Np. w pluginie {pageSwitcherPanel} ta
 * klasa jest wykorzystywana tylko na pierwszej stronie wyników.) */

.uwb-button.uwb-button-light.uwb-pulsar {
    -webkit-animation: uwb-kf-redpulse 1.5s infinite;
    animation: uwb-kf-redpulse 1.5s infinite;
}

@-webkit-keyframes uwb-kf-redpulse {
    0% {
        box-shadow: 0 0 9px 2px rgba(255, 0, 0, 0.2);
    }
    50% {
        box-shadow: 0 0 9px 2px rgba(255, 0, 0, 0.7);
    }
    100% {
        box-shadow: 0 0 9px 2px rgba(255, 0, 0, 0.2);
    }
}

@keyframes uwb-kf-redpulse {
    0% {
        box-shadow: 0 0 9px 2px rgba(255, 0, 0, 0.2);
    }
    50% {
        box-shadow: 0 0 9px 2px rgba(255, 0, 0, 0.7);
    }
    100% {
        box-shadow: 0 0 9px 2px rgba(255, 0, 0, 0.2);
    }
}

/* uwb-button-sign-in */

.uwb-button.uwb-button-sign-in {
    display: inline-block;
    box-sizing: content-box;
    padding: 10px 20px;
    border: 1px solid #018dc4;
    border-radius: 3px;
    color: #ffffff;
    text-overflow: clip;
    background: #0A7EAE;
    box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.2);
    text-shadow: -1px -1px 0 rgba(15, 73, 168, 0.66);
    transition: all 300ms cubic-bezier(0.42, 0, 0.58, 1);
    font-size: 15px;
    font-weight: bolder;
    outline: 4px solid transparent;
}

.uwb-button.uwb-button-sign-in:hover {
    border: 1px solid #007cad;
    background: #006893;
    box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.3);
    transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
}

.uwb-button.uwb-button-sign-in:active {
    border: 1px solid #018dc4;
    background: #0089bf;
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2) inset;
    text-shadow: none;
    transition: all 50ms cubic-bezier(0.42, 0, 0.58, 1);
}

.uwb-button.uwb-button-sign-in:focus {
    background: rgba(255, 255, 255, 0.9);
    color:#0A7EAE;
    text-shadow: -1px -1px 0 rgba(255, 252, 252, 0.66);
    box-shadow: 5px 5px 5px 0 rgba(0, 0, 0, 0.3);
    outline: 5px solid #007cad;
    border-radius: 0;
}
/* uwb-checkbox-label aplikujemy do labela otaczającego checkbox. */

.uwb-checkbox-label { margin-left: 18px; position: relative; display: inline-block; }
.uwb-checkbox-label.uwb-disabled { opacity: 0.3; }
.uwb-checkbox-label > input { vertical-align: middle; position: absolute; top: 0.3em; left: -17px; }

label.required::after {
    content: '*';
    color: #d00;
}/** Tu zdefiniowane są dedykowane style dla elementów widocznych w globalnym layoucie. */

.informacjaOZamknieciu {
    text-align: center;
    background: rgb(166, 41, 41);
    font-size: 0.8rem;
    color: #fff;
    padding: 0.5rem;
}
/* Layout uwb-panels-layout.
 *
 * Strony tej klasy posiadają szare tło oraz dwie kolumny - szerszą na główną
 * treść strony z lewej, oraz węższą z prawej. Kolumna z prawej jest zawsze
 * szara i wypełniana panelami. Kolumna z lewej właściwie również jest zawsze
 * szara (i również wypełniać ją można panelami), ale można ją również wypełnić
 * (i zwykle się wypełnia) białym obiektem uwb-white-content. W zależności od
 * tego, które bloki Smarty zostały zadeklarowane, szablon powinien domyślić
 * się i ułożyć stronę odpowiednio.
 */

.layout-fixed-wrapper { margin: -40px; }
.uwb-panels-layout {
    background: #ebebeb;
    border-right: 1px solid #ebebeb;
}
.uwb-panels-layout.uwb-layoutContent-defined.uwb-layoutMainPanels-undefined { background: url("panels-bg.png"); }
#uwb-panels-layout-manager { display: flex; }

/* uwb-panel jest białym prostokątem, który ma być osadzany na szarym tle.
 * Nie korzystaj bezpośrednio z tej klasy - skorzystać z którejś z podklas. */

.uwb-panel {
    box-sizing: border-box;
    width: 100%;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #cdcdcd;
    border-radius: 2px;
    border-collapse: separate;
    border-spacing: 0;
    box-shadow: 0 6px 5px -5px rgba(0,0,0,0.1);
}

/* Kolumna boczna (prawa). Zasadniczo, powinna zawierać elementy dziedziczące
 * z uwb-panel (z pewnymi wyjątkami). */

.uwb-side-panels-container { width: 270px; padding: 24px; }
.uwb-layoutCoverPhoto-none.uwb-layoutContent-undefined .uwb-side-panels-container { padding-top: 40px; }
.uwb-layoutCoverPhoto-right .uwb-side-panels-container { padding-top: 122px; }

/* Dodatkowe ustawienia dla paneli osadzonych w kolumnie bocznej. */

.uwb-side-panels-container .uwb-panel { margin-bottom: 25px; }

/* uwb-sidepanel jest podklasą panelu. To "standardowy" panel boczny, do
 * osadzenia wewnątrz uwb-side-panels-container. */

.uwb-panel.uwb-sidepanel {
    padding: 12px;
    font-size: 12px;
}
.uwb-panel.uwb-sidepanel > hr {
    height: 1px;
    border: 0;
    background: #ddd;
    margin: 10px 0 10px 0;
}
.uwb-panel.uwb-sidepanel p.uwb-grey-centered {
    color: #777;
    text-align: center;
}

/* Do osadzenia w uwb-sidepanel. Zawiera listę atrybutów wyświetlanej encji (np.
 * imię, nazwisko, identyfikator, itp.). */

.uwb-side-defs { font-size: 12px; }
.uwb-side-defs > div { margin: 3px 0; }
.uwb-side-defs > div:first-child { margin-top: 0; }
.uwb-side-defs > div:last-child { margin-bottom: 0; }
.uwb-side-defs > div > div { float: left; }
.uwb-side-defs > div > div:first-child { width: 95px; text-align: right; color: var(--grey); padding-right: 6px; }
.uwb-side-defs > div > div:first-child .ua-icon { color: #aaa; }
.uwb-side-defs > div > div:last-child { width: 126px /* zostaw miejsce na feedback */; }

/* Do osadzenia w uwb-sidepanel. Alternatywa dla uwb-side-defs (można też
 * używać obydwu na jednej stronie). Różni się tym, że zamiast tekstu w lewej
 * kolumnie wyświetlane są ikony (co daje sporo więcej miejsca na tekst w
 * prawej kolumnie). */

.uwb-side-icons { font-size: 0.75rem; }
.uwb-side-icons > div { margin: 8px 0; }
.uwb-side-icons > div:first-child { margin-top: 0; }
.uwb-side-icons > div:last-child { margin-bottom: 0; }
.uwb-side-icons > div > div { float: left; min-height: 16px; }
.uwb-side-icons > div > div:first-child { width: 16px; color: var(--grey); padding-right: 8px; position: relative; top: -1px; }
.uwb-side-icons > div > div:first-child .ua-icon { color: #bbb; }
.uwb-side-icons > div > div:last-child { width: 195px /* zostaw miejsce na feedback */; }
.uwb-side-icons > div > div.uwb-extra-space:last-child { width: 215px; /* może nachodzić na feedback */ }

/* uwb-feedback-corner to element do umieszczenia w prawym rogu (zazwyczaj
 * w sidepanelu), w którym następnie stworzymy widget usosFeedback z
 * jQuery-USOS. */

.uwb-feedback-corner { float: right; width: 16px; height: 1px; overflow: visible; }

/* Odnośnik z ikoną, do umieszczenia pomiędzy sidepanelami. Nie nadużywać,
 * w przypadku większej ilości odnośników należy je umieścić w panelu. */

.uwb-interpanel-link { margin-bottom: 30px; color: #777; text-align: center; }
.uwb-interpanel-link a { color: #555596; }
.uwb-interpanel-link .ua-icon { margin-right: 4px; color: #aaa; text-shadow: 1px 1px 2px rgba(0,0,0,0.1); }

/* Tabelka z dwiema komórkami - z małym logiem/zdjęciem oraz tekstem do
 * wyświetlenia obok. Przydatna jako element listy atrybutów w głównej części
 * storny (tzn. w bloku "layoutContent"). */

.uwb-text-with-photo {
    margin: 12px 0;
    width: 100%;
}
.uwb-text-with-photo td:first-child {
    vertical-align: top;
    width: 62px;
}
.uwb-text-with-photo img {
    width: 62px;
    height: 62px;
    border: 1px solid #fff;
    box-shadow: 0 0 1px rgba(0,0,0,0.2);
}
.uwb-text-with-photo td:nth-child(2) {
    padding-left: 13px;
}
.uwb-text-with-photo {
    font-size: 0.925rem;
}

/* uwb-topnotice to krótki komunikat do wyświetlenia nad treścią strony. Nie
 * powinien być używany w innych miejscach, oraz nie powinien być używany,
 * jeśli nie wyświetlamy na stronie nic poza tym komunikatem. Np. nadaje się
 * do wyświetlenia "Zaloguj się, aby zobaczyć więcej", ale NIE nadaje się do
 * wyświetlenia "Nie masz dostępu do tej strony". */

.uwb-panels-layout .uwb-topnotice {
    box-sizing: border-box;
    padding: 12px 23px 14px 23px;
    width: 639px;
    font-size: 1rem;
    text-align: center;
}
.uwb-panels-layout.uwb-layoutCoverPhoto-left .uwb-topnotice {
    padding: 22px 23px 24px 243px;
}
.uwb-panels-layout .uwb-topnotice.uwb-topnotice-info {
    color: #fff;
    text-shadow: 0 0 5px rgba(0,0,0,0.5);
    background: var(--primary);
}
.uwb-panels-layout .uwb-topnotice.uwb-topnotice-info a {
    text-decoration: underline;
}

/* uwb-white-content zachowuje się różnie, w zależności od tego, które bloki
 * layoutu są w użyciu. Zazwyczaj zawiera główną treść strony. */

.uwb-panels-layout .uwb-white-content {
    box-sizing: border-box;
    width: 640px;
    padding: 40px;
    border-right: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
    background: #fff;
}
.uwb-panels-layout.uwb-layoutCoverPhoto-left.uwb-layoutTopNotice-undefined .uwb-white-content {
    padding-top: 108px;
}
.uwb-panels-layout.uwb-layoutContent-defined.uwb-layoutMainPanels-undefined .uwb-white-content {
    border-bottom: 0;
}

/* Sekcje - główne elementy składowe bloków "layoutContent". */

h2.uwb-section { text-transform: uppercase; font-weight: bold; font-size: 0.75rem; border-bottom: 1px solid #e7e7e7; padding: 0 0 6px 0; margin: 0; }
.uwb-section-content { padding: 15px 0 60px 0; }
.uwb-section-text { color: var(--font-color); font-size: 0.925rem; }

/* Używane, gdy zdefiniowaniu blok layoutMainPanels. Ustala rozmiar i marginesy
 * paneli. */

.uwb-primary-panels-container {
    padding: 40px 0 70px 40px;
    width: 600px;
}
.uwb-primary-panels-container .uwb-panel {
    margin: 10px 0;
    border-radius: 3px;
    border: 1px solid #d7d7d7;
}
/* uwb-imgcover jest dodatkowym divem z krótkim dużym tekstem (tytułem) na
 * tle dużego obrazka. Jest przeznaczony do dołączenia na samej górze strony,
 * ma pokazywać kontekst strony (np. jednostkę, której strona dotyczy), lub
 * może ewentualnie zastępować jej tytuł (h1).
 *
 * Nie należy przesadzać z jego użyciem, tzn. powinien być używany raczej tylko
 * na głównych stronach "bytów" (np. osób lub jednostek), ale tylko takich
 * bytów, z którymi można związać odpowiednio duży i sensowny, unikalny obrazek
 * (np. mapę budynku, zdjęcie jednostki, itp.). */

.uwb-imgcover {
    background: #ddd;
    padding: 0;
    text-rendering: optimizelegibility;
    position: relative;
}
.uwb-imgcover .uwb-imgcover-inner {
    vertical-align: bottom;
    text-align: left;
    width: 959px;
    box-sizing: border-box;
    padding: 0 40px 21px 40px;
    display: table-cell;
}
.uwb-imgcover-title { display: inline-block; font-size: 25px; }
.uwb-imgcover-dark {
    border-bottom: 1px solid #777;
}
.uwb-imgcover-dark .uwb-imgcover-inner {
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 100%);
}
.uwb-imgcover-dark .uwb-imgcover-title, .uwb-imgcover-dark .uwb-imgcover-title * {
    color: #fff; text-shadow: 0 0 6px rgba(0,0,0,1.0);
}
.uwb-imgcover-with-photo { height: 230px; background-position: 100% 60%; }
.uwb-imgcover-with-photo .uwb-imgcover-inner { height: 230px; }
.uwb-imgcover-without-photo { height: 150px; background-position: 50% 70%; }
.uwb-imgcover-without-photo .uwb-imgcover-inner { height: 150px; }

.uwb-imgcover-photo-wrapper {
    box-sizing: border-box;
    padding: 1px;
    display: block;
    position: absolute;
    border-radius: 3px;
    background: rgba(0,0,0,0.3);
    box-shadow: 0 7px 7px -5px rgba(0,0,0,0.15);
}
.uwb-imgcover-photo-wrapper > img {
    box-sizing: border-box;
    border: 5px solid #fff;
    border-radius: 2px;
    background: #dbdbdb;
}

.uwb-layoutCoverPhoto-right .uwb-imgcover-photo-wrapper {
    width: 212px; /* img element width + 2*1 */
    height: 262px;
    top: 59px;
    right: 53px;
}
.uwb-layoutCoverPhoto-right .uwb-imgcover-photo-wrapper > img {
    width: 210px; /* 200 + 2*5 */
    height: 260px; /* 250 + 2*5 */
}
.uwb-layoutCoverPhoto-right .uwb-imgcover-title {
    padding-right: 268px;
}

.uwb-layoutCoverPhoto-left .uwb-imgcover-photo-wrapper {
    width: 182px; /* img element width + 2*1 */
    height: 182px;
    top: 111px;
    left: 40px;
}
.uwb-layoutCoverPhoto-left .uwb-imgcover-photo-wrapper > img {
    width: 180px; /* 170 + 2*5 */
    height: 180px; /* 170 + 2*5 */
}
.uwb-layoutCoverPhoto-left .uwb-imgcover-title {
    padding-left: 209px;
}
/* uwb-fixed-badge to prosta tabelka do osadzenia wewnątrz usb-sidepanel.
 * Zawiera logo bytu, jego nazwę i opcjonalnie odnośnik do bytu nadrzędnego.
 * Można używać na stronach, które nie są głównymi stronami przedstawianego
 * bytu, ale są z nim związane. */

.uwb-fixed-badge td:first-child {
    vertical-align: top;
    padding-bottom: 3px;
}
.uwb-fixed-badge img {
    width: 50px;
    height: 50px;
    border: 1px solid #fff;
    box-shadow: 0 0 1px rgba(0,0,0,0.5);
}
.uwb-fixed-badge td:nth-child(2) {
    padding-left: 10px;
    padding-bottom: 3px;
}
.uwb-fixed-badge .uwb-secondary a {
    font-size: 11px;
    color: #bbb;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 170px;
    white-space: nowrap;
}
.uwb-fixed-badge .uwb-primary a {
    display: block;
    margin-top: 2px;
    font-size: 13px;
}
/* Otoczenie paneli divem o tym ID powoduje, że będą one pływać wraz ze
 * scrollowaniem strony. Aktualnie działa tylko dla stosunkowo niskich
 * zbiorów elementów. Nie używać bezpośrednio, użyj pluginu Smarty! */

#uwb-floating-panels {
    width: 270px;
}
#uwb-floating-panels.stick {
    position: fixed;
    top: 25px;
}
/* Podklasa uwb-sidepanel z obrazkiem (np. miniaturą planu zajęć) i odnośnikiem
 * do większej wersji. */

.uwb-imagezoom-panel a {
    display: block;
    text-align: center;
    padding: 10px 15px;
}
.uwb-imagezoom-panel a img {
    max-width: 200px;
}
/* Panel z napisem "Strona X z Y" i przyciskami przełączania stron. Nie
 * używać bezpośrednio - użyj pluginu {pageSwitcherPanel} w Smarty. */

.uwb-panel.uwb-page-switcher-panel { padding: 12px 12px 12px 18px; }
.uwb-panel.uwb-page-switcher-panel table { width: 100%; }
.uwb-panel.uwb-page-switcher-panel td { vertical-align: middle; }
.uwb-panel.uwb-page-switcher-panel td:first-child { color: #999; font-size: 16px; font-weight: bold; }
.uwb-panel.uwb-page-switcher-panel td:last-child { text-align: right; }
/* uwb-photo-panel - panel ze zdjęciem (np. użytkownika lub logo jednostki),
 * tytułem (np. imieniem i nazwiskiem) i atrybutami (każdy atrybut zajmuje
 * conajwyżej jeden wiersz). Nadaje się do prezentowania list (ewentualnie
 * wyników wyszukiwania) bytów ze zdjęciami. */

.uwb-panel.uwb-photo-panel { }
.uwb-panel.uwb-photo-panel > tbody > tr > td { vertical-align: top; padding: 15px 20px; }
.uwb-panel.uwb-photo-panel > tbody > tr > td:first-child { width: 150px; padding: 0; }
.uwb-panel.uwb-photo-panel > tbody > tr > td:first-child img { height: 150px; width: 150px; border-radius: 2px 0 0 2px; }
.uwb-panel.uwb-photo-panel > tbody > tr > td:first-child img.uwb-taller-user-photo { height: 187px; }
.uwb-panel.uwb-photo-panel .uwb-photo-panel-title { font-size: 16px; color: #222; margin: 0 0 10px 0; display: block; }
.uwb-panel.uwb-photo-panel .uwb-photo-panel-attrs div { color: #777; margin-left: 20px; text-indent: -20px; }
/* Sztywna szerokość dla ikon SVG */
.rejestracja-ikona[src*=".svg"] {
    display: inline-block;
    width: 2.25rem;
}div.uprefs-list { max-width: 512px; }
div.uprefs-loading { min-height: 30px; }
.uprefs-title { font-weight: bold; font-size: 1rem; }
div.uprefs-summary { color: var(--grey); }
div.uprefs-preference { padding: 2px; margin: 10px 0; font-size: 0.9rem; }

div.uprefs-preference.uprefs-type-list .uprefs-summary, .wrtext div.uprefs-short-item { margin-bottom: 5px; }
div.uprefs-preference.uprefs-type-list .uprefs-items { margin-top: 10px; }
div.uprefs-preference.uprefs-type-list .uprefs-list-item-summary { color: var(--grey); margin-bottom: 5px; }

div.uprefs-preference.uprefs-type-textbox .uprefs-title { margin-bottom: 4px; }
div.uprefs-preference.uprefs-type-textbox .uprefs-summary { margin-top: 3px; }

.uprefs-save-notice-container { margin-left: 5px; }
.uprefs-save-notice-container .ui-icon { display: inline-block; }

.uprefs-save-notice-container .uprefs-text {
    padding-left: 1px;
}

.wrtext div.uprefs-short-title { font-weight: bold }

.usos-ui .uprefs-list dt { font-weight: 500; }
.usos-ui .uprefs-list dd { margin-left: 1rem; }