* {margin:0; padding:0; box-sizing:border-box;}
body {
  font-family: Arial, sans-serif;
  line-height: 1.6;
  background-color: #f9f9f9;
  color: #1D5184;
  font-size:16px;
}

header {
  background-color: #1D5184;
  color: #fff;
  padding:1em;
  text-align:center;
  position: relative;
  padding-top:80px;
}
header h1 { font-size:24px; }
.accessibility-tools {
  position:absolute;
  top:10px; right:10px;
}
.accessibility-tools button {
  background:none; border:1px solid #fff; color:#fff;
  margin-left:0.5em; padding:0.2em 0.5em; cursor:pointer;
}

.container {
  display:flex;
  flex-wrap:wrap;
}

aside {
  flex: 0 0 250px;
  background:#e6ecf3;
  padding:1em;
}

.nav.menu { list-style:none; }
.nav.menu li { margin-bottom:0.5em; }
.nav.menu li a { text-decoration:none; color:#1D5184; font-weight:bold; display:block; padding:0.3em; }
.nav-header {
  font-weight:bold; cursor:pointer; display:block;
  padding:0.3em; background:#c8d4e4; margin-bottom:0.2em;
}
.nav-child { list-style:none; padding-left:15px; display:none; }
.nav-child li a { font-weight: normal; }

/* Treść główna */
main { flex:1; padding:1em; }

/* Tabela dokumentów */
.tabela-dokumenty { width:100%; border-collapse:collapse; margin-top:1em; }
.tabela-dokumenty th, .tabela-dokumenty td {
  border:1px solid #ccc; padding:0.5em; text-align:left;
}

/* Podświetlenie TAB dla dostępności */
.tabela-dokumenty td:focus, .tabela-dokumenty th:focus,
.tabela-dokumenty a:focus {
  outline: 2px solid red;
  background-color: #ffe6e6;
}

/* Footer */
footer { background:#1D5184; color:#fff; text-align:center; padding:1em; margin-top:1em; }

/* Tryb kontrastu */
.high-contrast { background:black !important; color:yellow !important; }
.high-contrast nav, .high-contrast footer, .high-contrast header { background:black !important; }

/* Responsywność */
@media(max-width:768px){
  .container { flex-direction:column; }
  aside { flex:1; }
}



/* Menu pionowe */
.nav.menu { list-style:none; padding:0; }
.nav.menu li { margin-bottom:0.2em; }

/* Zwykłe linki podstron */
.nav.menu li a {
    display:block;
    padding:0.4em 0.6em;
    color:#1D5184;
    text-decoration:none;
    border-left: 4px solid transparent;
    transition: all 0.3s ease;
}
.nav.menu li a:hover, 
.nav.menu li a:focus {
    background-color:#c8d4e4;
    border-left:4px solid #1D5184;
    outline:none;
}

/* Przyciski nagłówków (button) jako linki */
.nav-header {
    display:block;
    width:100%;
    text-align:left;
    padding:0.4em 0.6em;
    font-weight: bold;
    color:#1D5184;
    background:none;
    border:none;
    cursor:pointer;
    border-left:4px solid transparent;
    transition: all 0.3s ease;
	font-size:15px;
}


.nav-header:hover, .nav-header:focus {
    background-color:#c8d4e4;
    border-left:4px solid #1D5184;
    outline:none;
}

/* Podmenu */
.nav-child {
    list-style:none;
    padding-left:15px;
    display:none;
}
.nav-child li a {
    font-weight:normal;
    color:#1D5184;
    padding:0.3em 0.6em;
    display:block;
    border-left:4px solid transparent;
    transition: all 0.3s ease;
}
.nav-child li a:hover, .nav-child li a:focus {
    background-color:#c8d4e4;
    border-left:4px solid #1D5184;
    outline:none;
}

/* Aktywny nagłówek (rozszerzone podmenu) */
.nav-header.active {
    border-left:4px solid #1D5184;
    background-color:#c8d4e4;
}

/* RWD */
@media(max-width:768px){
  .container { flex-direction:column; }
  aside { flex:1; }
}


/* Odstępy między wierszami i akapitami */
.line-spacing { line-height:2 !important; margin-bottom:1em; }

/* Odstępy między literami i wyrazami */
.letter-spacing { letter-spacing:0.15em !important; word-spacing:0.3em !important; }

/* Wyróżnienie odnośników i przycisków */
.highlight-links a, .highlight-links button, .highlight-links .nav-header {
    background-color: #ffe6e6 !important;
    border: 2px solid red !important;
    color: #1D5184 !important;
}

.large-font { font-size:18px !important; }


main {
  padding-left: 50px;
}

.wpisy {
float:left;
width:100%;
}	

.wpisy .wpis{
float:left;
width:100%;
margin-top:20px;
margin-bottom:20px;
border-bottom:1px solid #C8D4E4;
padding-top:20px;
padding-bottom:20px;
}	

#open_preferences_center {
color:white;	
}	


footer a {
color:white;		
}	

.high-contrast aside {
background-color:black;
}	

.high-contrast .nav-header {
	color:#FFFF00;	
}	

.high-contrast .nav.menu li a {
color:#FFFF00;	
}	

.high-contrast .nav-header.active {
background-color:black;	
}	

.high-contrast a {
color:#FFFF00  !important;	
}	

.high-contrast .nav-header:hover {
background-color:black;		
}	


.high-contrast .nav.menu li a:hover {
background-color:black;	
}	