@font-face
{
	font-family: 'Lato';
	src: url("../fonts/Lato-Regular.ttf");
	font-weight: normal;
	font-style: normal;
}
@font-face
{
	font-family: 'Lato';
	src: url("../fonts/Lato-Italic.ttf");
	font-weight: normal;
	font-style: italic;
}
@font-face
{
	font-family: 'Lato';
	src: url("../fonts/Lato-Bold.ttf");
	font-weight: bold;
	font-style: normal;
}
@font-face
{
	font-family: 'Lato';
	src: url("../fonts/Lato-BoldItalic.ttf");
	font-weight: bold;
	font-style: italic;
}

BODY
{
	margin:0px;
	padding:0px;
	background:#fff;
	color:#444;
	font-size:17px;
}

table
{
	margin:0;
	color:#444;
	font-size:17px;
}

body, table, input, textarea
{
	font-family:'Lato';
}

p
{
	margin-top:0;
}

h4, h3, h2
{
	margin-top:25px;
	margin-bottom:8px;
}

h4
{
	font-size:1.4em;
}

input::-moz-focus-inner /* Removes button padding in FF */
{ 
	border:0;
	padding:0;
}

/* linki */
a:link, a:visited
{
	color:#c62020;
	text-decoration:none;
	font-weight:bold;
	transition:all 0.2s;
}
a:hover
{
	color:#777777;
	text-decoration:none;
	font-weight:bold;
}

/* WCAG */
/* do wyrzucenia. Paskudzi stronę, lightbox nie działa dobrze
a:focus, button:focus, input:focus
{
	background-color:yellow !important;
	color:#111 !important;
}

a:focus img
{
	border:2px solid red;
}
*/


/* formularz */
input[type='text'], input[type='password'], textarea, select
{
	border:1px solid #bbb;
	background:#f4f4f4;
	padding:4px;
	margin-right:6px;
	font-size:1em;
	color:#666;
}

input[type='submit'], input[type='button'], a.button, a.small_button, input.small_button, a.button_alert, button
{
	border:0;
	padding:5px 20px 6px 20px;
	line-height:1;
	display:inline-block;
	background-color:#bb0000;
	color:#fff;
	cursor:pointer;
	font-size:1em;
	font-weight:normal;
	text-decoration:none;
	font:inherit;
	transition:all 0.2s;
}
input[type='submit']:hover, input[type='button']:hover, a.button:hover, input.small_button:hover, a.button_alert:hover, button:hover
{
	background-color:#555;
	font-weight:normal;
}
a.small_button, input.small_button
{
	padding:2px 10px 5px 10px;
}
a.button_alert
{
	margin-left:6px;
	background:#cc0000;
	color:#fff;
}

/* przyciski wyświetlane obok siebie */
a.block
{
	display:inline-block;
	margin-right:10px;
	text-align:center;
}

input[type='text'].error, input[type='password'].error, textarea.error, select.error, label.error, span.error
{
	border:1px solid #cc0000;
}
input[type='text'].wide
{
	width:550px !important;
}
input[type='text'].short, input[type='password'].short
{
	width:130px !important;
}
input[type='text'].date
{
	width:100px !important;
}
input[type='text'].number
{
	width:60px !important;
}
input.captcha_code
{
	text-transform:uppercase;
	width:130px !important;
}
div.textarea_comment
{
	white-space:initial;
	max-width:250px;
	margin-top:3px;
}

a.light
{
	background:#888;
}

/* dopasowuje zdjęcia z klas± "responsive" do rozmiaru strony */
img.responsive
{
	width:100% !important;
	height:auto !important;
}

/* długa tabelka przesuwana poziomo na telefonie */
div.table_container
{
	overflow:hidden;
	width:auto;
}
div.table_container_in
{
	overflow-x:auto;
}

.clear
{
	clear:both;
	overflow:hidden;
	float:none !important;
}
.block
{
	clear:both;
	margin-top:8px;
	margin-bottom:8px;
}
.no_wrap, .nowrap
{
	white-space:nowrap;
}
div.no_page
{
	text-align:center;
}
div.no_page h3
{
	font-size:25px;
}
div.no_page img
{
	width:180px;
	height:auto;
}

/* tabelka na formularz */
div.table, div.list
{
	display:table;
}
div.table_margin
{
	display:table;
	margin-top:12px;
}
div.tr
{
	display:table-row;
}
div.td
{
	display:table-cell;
	vertical-align:middle;
	padding:5px 8px 10px 0;
}
div.td_top
{
	display:table-cell;
	vertical-align:top;
	padding:7px 8px 10px 0;
}

/* gdy zawartość komórki jest u góry to zrób odstęp od góry */
div.td_top label
{
	display:inline-block;
	box-sizing:border-box;
	padding-top:4px;
}

div.td_center
{
	padding:5px 8px 10px 0;
}

/* tabelka do wyświetlania tekstów, np events */
div.td_text
{
	display:table-cell;
	vertical-align:top;
	padding-bottom:10px;
}
.pr
{
	padding-right:20px !important;
}

div.list div.td, div.list div.td_top
{
	border-bottom:1px solid #bbb;
	padding-right:20px;
}

form.block
{
	margin-top:10px;
	margin-bottom:15px;
}
span.form_element
{
	padding-right:10px;
}

div.td input[type="text"], div.td textarea, div.td_center textarea
{
	width:290px;
}
div.td textarea
{
	height:100px;
}

textarea.short
{
	height:50px !important;
}
textarea.medium
{
	width:450px !important;
	height:200px !important;
}
textarea.large
{
	width:700px !important;
	height:300px !important;
}
textarea.mce_editor
{
	width:600px !important;
	height:240px !important;
}
input.mce_editor
{
	width:600px !important;
}

div.critical_error h3
{
	margin-bottom:4px;
}
div.error
{
	box-sizing:border-box;
	background:#cc0001;
	background-image:url('../images/attention.png');
	background-position:10px 10px;
	background-repeat:no-repeat;
	padding:10px 10px 10px 70px;
	text-align:center;
	font-weight:bold;
	color:#ffffff;
	margin-top:12px;
	margin-bottom:12px;
	min-height:70px;
	height:auto;
	line-height:1.6;
}
div.error h3
{
	margin-top:0;
	margin-bottom:12px;
}

.error_small
{
	box-sizing:border-box;
	background:#cc0001;
	color:#fff;
	padding:4px 6px;
	margin-top:4px;
	margin-bottom:4px;
}

div.error a:link, .error_small a:link, div.error a:visited, .error_small a:visited
{
	color:#fde437;
	text-decoration:none;
}

div.error a:hover, .error_small a:hover
{
	color:#fff;
	text-decoration:underline;
}

.alert, a.alert
{
	color:#cc0000;
}
a.alert:hover
{
	color:#555;
}

.positive
{
	color:#1e9544;
}

.frame, div.confirmation
{
	background:#f4f4f4;
	border:1px solid #AAA;
	padding:15px;
	text-align:left;
	line-height:1.6;
	margin-top:1em;
	margin-bottom:1em;
}

img#captcha
{
	vertical-align:middle;
}
img#refresh
{
	width:30px;
	height:auto;
	margin-left:5px;
	vertical-align:middle;
}

div.back
{
	margin-top:20px;
	clear:both;
}

div.block
{
	margin-top:6px;
	margin-bottom:6px;
	clear:both;
}
div.block_big
{
	margin-top:20px;
	margin-bottom:20px;
	clear:both;
}
div.debug
{
	border:2px dotted #999;
	padding:12px;
	font-family:"Courier New";
	font-size:1em;
	clear:both;
	margin-bottom:12px;
	background:#fffeea;
}
.gap
{
	height:0.5em;
	clear:both;
}
.big_gap
{
	height:1em;
	clear:both;
}
div.right
{
	float:right;
}
div.left
{
	float:left;
}

h3.title, h1.title
{
	font-size:30px;
	font-weight:bold;
	margin:0;
	margin-top:25px;
	margin-bottom:20px;
}

/* tytuł nad treścią pokazywaną w new_div przez ajax */
h3.new_div_title
{
	margin-top:0;
	margin-bottom:4px;
	font-size:20px;
}

h4.small_header
{
	font-size:1.1em;
	font-weight:bold;
	margin-top:0;
	margin-bottom:8px;
}
span.first_element
{
	font-size:26px;
	color:#bb0000;
}

/* tabelka do wyswietlania listy rekordów - co drugi wiersz ma inne tło */
table.list
{
	border-collapse:separate;
	border-spacing:1px;
	margin-top:8px;
}
table.list td, table.list th
{
	padding:6px;
}
table.list th
{
	background:#d2d2d2;
	color:#232323;
	text-align:center;
	font-weight:normal;
}
tr.list1, td.list1
{
	background:#e6e6e6;
	color:#222222;
}
tr.list2, td.list2
{
	background:#f1f1f1;
	color:#222222;
}
tr.list1 p, tr.list2 p
{
	margin:0;
}
tr.highlight
{
	background:#c5f051 !important;
}

/* tabelka do wyswietlania listy rekordów - bez naprzemiennego tła wierszy */
table.easy_list
{
	border-collapse:separate;
	border-spacing:1px;
	margin-top:8px;
}
table.easy_list td, table.easy_list th
{
	padding:6px;
}
table.easy_list tr
{
	background:#f6f6f6;
}
table.easy_list td
{
	border-bottom:1px solid #ccc;
}
table.easy_list th
{
	background:#d2d2d2;
	color:#232323;
	text-align:left;
	font-weight:normal;
}

/* tabelka z ramką */
table.frame
{
	border-collapse:collapse;
	border:1px solid #A8A8A8;
	border-spacing:0;
}
table.frame td 
{
	border:1px solid #A8A8A8;
	padding:5px;
}
table.frame td ul, table.frame td ol
{
	padding-left:20px;
}

img.arrow
{
	vertical-align:middle;
}

div#print
{
	float:right;
}
div#print a
{
	font-weight:normal;
}
div#print img
{
	margin-left:6px;
}

div.line
{
	background:#bbb5b5;
	height:1px;
	margin-top:20px;
	margin-bottom:20px;
	overflow:hidden;
	clear:both;
}

div.paginator
{
	width:100%;
	margin-top:15px;
}
div.paginator a, span.paginator_no_active
{
	background:#888;
	color:#fff;
	padding:4px 8px 5px 8px;
	text-align:center;
	display:block;
	float:left;
	margin-right:2px;
	margin-top:3px; /* gdy zawija na mniejszych ekranach */
	font-weight:normal;
	text-decoration:none;
}
div.paginator a:hover
{
	background:#bb0000;
}
span.paginator_no_active
{
	background:#444;
}

/* breadcrumb (path) */
div#breadcrumb
{
	padding-top:5px;
	padding-bottom:5px;
	color:#777;
}
div#breadcrumb a
{
	font-weight:normal;
}

div.cms_edit
{
	color:#000 !important;
	margin-bottom:5px;
	text-align:right;
}
div.cms_edit a
{
	display:inline-block;
	padding:1px 6px 3px 6px;
	color:#cc0000 !important;
	background:#fff;
	text-decoration:none;
	font-weight:bold;
	border:1px solid #bbb;
	border-radius:3px;
}
div.cms_edit a:hover
{
	color:#777 !important;
}

.visible
{
	display:inline;
}
.hidden
{
	display:none;
}


/* potwierdzenie operacji */
div.confirmation
{
	text-align:center;
	width:70%;
	padding-top:20px;
	padding-bottom:20px;
	margin:auto;
}
div.confirmation h3, div.frame h3
{
	margin-top:0;
	margin-bottom:20px;
}
div.confirmation span
{
	display:block;
	margin-bottom:20px;
}

div.button_center
{
	text-align:center;
	margin-top:30px;
	margin-bottom:30px;
	clear:both;
}
div.button_right
{
	text-align:right;
	margin-top:10px;
	margin-bottom:10px;
	clear:both;
}

/* obrazki, które wychodzą poza obszar są automatycznie skalowane */
div.page_content img
{
	max-width:100%;
	height:auto;
}

/* formularz do rejestracji */
span#login_info
{
	display:none;
	padding:5px;
	border:1px solid #bb0000;
	margin-top:4px;
}



/* ------------ konstrukcja -------------- */

/* nagłówek: zmiana rozmiaru tekstu, wyszukiwarka, bip */
header#top
{
	width:1200px;
	height:53px;
	box-sizing:border-box;
	padding-top:12px;
	margin:auto;
}
div#header_left
{
	float:left;
}
div#header_right
{
	float:right;
	display:flex;

}
img#en_flag
{
	width:46px;
	height:auto;
}
img#bip_icon
{
	width:34px;
	height:auto;
}

div#header_left a
{
	display:inline-block;
	margin-right:10px;
}


/* przycisk "wersja kontrastowa" */
a.button_white, a.button_contrast
{
	border:1px solid #ddd;
	background:#fff;
	padding:4px 10px;
	font-weight:normal;
	color:#333;
}

a.button_white:hover
{
	border:1px solid #999;
	background:#e5e5e5;
}

a.button_contrast:hover
{
	background:#000;
	color:#fbff53;
	border:1px solid #000;
}

/* powiększanie tekstu */
a.letter
{
	color:#333;
}
a.letter:hover
{
	color:#888;
}



/* duże zdjęcie (banner), logo, pogoda */
div#main_photo
{
	width:100%;
	height:500px;
	background-image:url('../storage/uploads/grafika/main_photo.jpg');
	background-repeat:no-repeat;
	background-size:cover;
}
div#main_photo_inner
{
	width:1200px;
	margin:auto;
}
a#logo_main
{
	display:inline-block;
	width:415px;
	height:155px;
	margin-top:80px;
	background-image:url('../images/layout/logo_main.png');
	background-repeat:no-repeat;
	background-size:contain;
}

/* menu */
div#menu_bar
{
	width:100%;
	background:#e5e4e4;
}

div.fixed
{
	position:fixed;
	top:0;
	z-index:150;
}

/* herb pokazywany na początku menu gdy jest ono przyklejone */
li.crest
{
	display:none;
}
div.fixed li.crest
{
	display:block;
	background:transparent;
}
div.fixed ul.menu a
{
	padding-left:18px;
	padding-right:18px;
}
div.fixed li.crest a
{
	padding:0;
	background:transparent;
}

li.crest img
{
	width:40px;
	height:auto;
}

div.fixed ul.submenu
{
	max-height:85vh;
	overflow:auto;
}

/* logo na duzym zdjęciu */
img#logo
{
	margin-top:30px;
	margin-left:40px;
}

div.container, div#container, div#container_flex
{
	width:1200px;
	margin:auto;
}

div#container, div#container_flex
{
	margin-top:30px;
	margin-bottom:30px;
	min-height:350px;
}

/* na produkty sklepowe lub coś podobnego */
div#container_flex
{
	display:flex;
}


/* gdy jest boczny moduł */
div#left_column
{
	box-sizing:border-box;
	width:918px;
	padding-right:30px;
	padding-bottom:25px;;
}
div#right_column
{
	box-sizing:border-box;
	width:282px;
}

div.page_content
{
	line-height:1.4;
	word-wrap:break-word; /* za długie słowa będą łamane np jakieś linki */
	min-height:130px;
	padding-top:20px;
}



/* dolne menu */
div#bottom_menu_bar
{
	background-color:#e4e3e3;
}
footer#bottom_menu
{
	width:1200px;
	display:flex;
	margin:auto;
	padding-top:30px;
	padding-bottom:30px;
	justify-content:space-between;
}
div.bottom_column
{
	line-height:1.5;
}
div.bottom_column H4
{
	margin-top:30px;
	margin-bottom:12px;
	font-size:1.2em;
}

/* Nagłówki kolumn w stopce normalne, nawet jak pierwszy element tytułu jest wyróżniony */
div.bottom_column span.first_element
{
	color:inherit;
	font-size:inherit;
}

div.bottom_column ul
{
	list-style:none;
	margin-top:0;
	margin-bottom:8px;
	padding:0;
}
div.bottom_column li
{
	margin:0;
	padding:0;
}
div.bottom_column a
{
	color:#444;
	text-decoration:none;
	font-weight:normal;
}
div.bottom_column a:hover
{
	color:#bb0000;
	text-decoration:none;
	font-weight:normal;
}
div.bottom_column img
{
	display:block;
	margin-bottom:12px;
}
img.small_logo
{
	width:180px;
	height:auto;
	margin-bottom:15px;
}

div#arrow_up
{
	width:45px;
	height:45px;
	box-sizing:border-box;
	display:inline-block;
	margin-top:80px;
	font-size:30px;
	font-weight:bold;
	background:#fff;
	color:#777;
	text-align:center;
	cursor:pointer;
	transition: background-color 0.5s;
}
div#arrow_up:hover
{
	color:#fff;
	background:#bb0000;
}

div.last_column
{
	text-align:right;
	padding-top:35px;
}


/* stopka */
div#footer_bar
{
	background:#c9c9c9;
}
footer#copyright
{
	width:1200px;
	min-height:50px;
	height:auto;
	margin:auto;
}
div#copy
{
	float:left;
	padding:16px 0 0 10px;
}
div#web
{
	float:right;
	padding:16px 10px 10px 0;
}


/* strona główna */
.home_header
{
	font-size:26px;
	font-weight:bold;
	margin-top:30px;
	margin-bottom:20px;
}
.home_header a
{
	color:#333;
}
.home_header a:hover
{
	color:#bb0000;
}

div.news_list
{
	display:flex;
	flex-wrap:wrap;
	gap:17px;
}
a.button_white img
{
	margin-left:6px;
}

div.partners
{
	display:flex;
	justify-content:space-between;
	padding-bottom:20px;
}
div.partners p
{
	display:block;
}

div.partners p, div.partners_slider p
{
	margin:0;
}

/* ruchome bannery na dole */
div.tns-outer
{
	margin-bottom:30px;
}
div.tns-outer p
{
	margin:0;
	padding-left:50px;
}
p.tns-item
{
	display:flex;
	justify-content:space-between;
}
div#tns_controls
{
	position:absolute;
	z-index:1500;
}
button.previous, button.next
{
	display:block;
	width:50px;
	padding:5px;
	background:#fff;
	color:#444;
	text-align:center;
	font-size:30px;
	font-weight:bold;
}
button.previous:hover, button.next:hover
{
	color:#999;
}


/* ------- wersja kontrastowa ------- */
body.contrast
{
	background:#000;
	color:#faff2b;
}

body.contrast a
{
	color:#ffbf2b;
}

body.contrast a:hover
{
	color:#f49f00;
}

body.contrast .button, body.contrast .button_white, body.contrast a.button_contrast
{
	background:#ffbf2b;
	color:#000;
	border:none;
}
body.contrast .button:hover, body.contrast .button_white:hover, body.contrast a.button_contrast:hover
{
	color:#000;
	background:#f49f00;
}

body.contrast #search_form i.icon-search
{
	color:#faff2b;
}

/* strona główna - kalendarz wydarzeń */
body.contrast div.home_events
{
	background:#000;
	color:#faff2b;
}

body.contrast div.home_events i.icon-highlights
{
	color:#faff2b;
}

body.contrast div.home_events div.line
{
	background:#eee;
}

body.contrast div.last_events_container div.events_title a
{
	color:#ffbf2b;
}

body.contrast div.last_events_container div.events_title a:hover
{
	color:#f49f00;
}


/* menu */
body.contrast div#menu_bar
{
	background:#222;
}
body.contrast ul.menu a
{
	color:#ffbf2b;
}
body.contrast ul.menu a:hover, body.contrast ul.menu ul
{
	background:#2b2b2b;
}

/* ścieżka */
body.contrast div#breadcrumb, body.contrast div.news_date
{
	color:#ece000;
}

body.contrast div.paginator a
{
	background:#2d2d2d;
}


/* stopka */
body.contrast div#bottom_menu_bar, body.contrast div#footer_bar
{
	background:#222;
	color:#faff2b;
}

/* przyciski z ikonami po prawej */
body.contrast a.button_box
{
	background:#222;
	border:1px solid #bbb;
}

body.contrast a.button_box span
{
	color:#bbb;
}

/* galeria */
body.contrast .gallery
{
	background:#333;
}

/* popup, ramka */
body.contrast div#popup_content, body.contrast div.frame
{
	background:#111;
}


/* pozostałe definicje dla tresci */
div.page_content table
{
	border-collapse:collapse;
	border:1px solid #bbb;
	margin-top:2em;
	margin-bottom:2em;
}

div.page_content table td, div.page_content table th
{
	padding:8px;
	border:1px solid #bbb;
}

/* pierwszy paragraf bez marginesu górnego */
div.page_content p:first-child
{
	margin:0;
}

img.portrait
{
	display:block;
	width:180px;
	height:auto;
	float:left;
	margin-right:25px;
	margin-bottom:15px;
}

h4.no_top
{
	margin-top:0;
	margin-bottom:10px;
}

img.frame
{
	border:1px solid #ccc;
}

/* lista szkół */
div.objects_list img
{
	display:block;
	width:300px;
	height:auto;
	margin-bottom:20px;
}


/* przyciski przyklejone po prawej (facebook itp) */
div#quick_buttons
{
	position:fixed;
	top:140px;
	right:30px;
}

div#quick_buttons a
{
	display:block;
	box-sizing:border-box;
	width:90px;
	height:30px;
	padding:6px 4px 8px 4px;
	margin-bottom:8px;
	border-radius:5px;
	text-decoration:none;
	text-align:center;
	line-height:1em;
	box-shadow: 0px 0px 1px 1px #bbb;
	background:rgba(255,255,255,0.8);
	font-size:15px;
	color:#222;
}

div#quick_buttons a:hover
{
	background:rgba(230,230,230,1);
}

div#quick_buttons img
{
	display:block;
	width:80%;
	height:auto;
	margin:auto;
}

/* strona główna - wydarzenia */
div.home_events
{
	box-sizing:border-box;
	padding:2px 15px 10px 15px;
	margin-bottom:30px;
	background:#bb0000;
	color:#fff;
}

div.home_events .home_header a
{
	margin-top:15px;
	color:#fff;
}
div.home_events .home_header a:hover
{
	color:#ffd9d9;
}

div.home_events_header
{
	display:flex;
	align-items:center;
	justify-content:space-between;
}

div.home_events div.line
{
	background:#ffaaaa;
	margin-top:0;
}

div.home_events div.frame
{
	background:transparent;
}

/* WCAG */
a:focus, input:focus
{
	outline: 1px solid #cc0000;
}

div.home_widgets
{
	display: flex;
	flex-wrap: wrap;
	gap: 17px;
	margin-top: 40px;
}

div.home_widgets div
{
	width: 32%;
}

div.home_widgets div iframe
{
	width: 284px;
	height: 198px;
	border: 0;
	overflow: hidden;
}
