/*
  icomoon
*/

@font-face {
  font-family: 'bn_fonts';
  src:  url('../fonts/bn_fonts.eot?6b57jx');
  src:  url('../fonts/bn_fonts.eot?6b57jx#iefix') format('embedded-opentype'),
    url('../fonts/bn_fonts.ttf?6b57jx') format('truetype'),
    url('../fonts/bn_fonts.woff?6b57jx') format('woff'),
    url('../fonts/bn_fonts.svg?6b57jx#bn_fonts') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'bn_fonts' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-gallery .path1:before {
  content: "\e90a";
  color: rgb(235, 235, 234);
}
.icon-gallery .path2:before {
  content: "\e90b";
  margin-left: -1em;
  color: rgb(0, 0, 0);
}
.icon-gallery .path3:before {
  content: "\e90c";
  margin-left: -1em;
  color: rgb(0, 0, 0);
}
.icon-gallery .path4:before {
  content: "\e90d";
  margin-left: -1em;
  color: rgb(0, 0, 0);
}
.icon-arrow-gray:before {
  content: "\e901";
  color: #727878;
}
.icon-logo-twitter:before {
  content: "\e904";
}
.icon-logo-fb:before {
  content: "\e903";
}
.icon-logo-instagram:before {
  content: "\e905";
}
.icon-logo-YT .path1:before {
  content: "\e906";
  color: rgb(40, 40, 40);
}
.icon-logo-YT .path2:before {
  content: "\e907";
  margin-left: -1.4287109375em;
  color: rgb(255, 255, 255);
}
.icon-search:before {
  content: "\e900";
}
.icon-arrow-down:before {
  content: "\e909";
}
.icon-arrow-black:before {
  content: "\e902";
}
.icon-triangle:before {
  content: "\e908";
}

/*
	general
*/
@font-face {
    font-family: 'soehne_breit_kraftig';
    src: url('../fonts/soehne-breit-web-kraftig.eot');
    src: url('../fonts/soehne-breit-web-kraftig.eot?#iefix') format('embedded-opentype'),
         url('../fonts/soehne-breit-web-kraftig.woff2') format('woff2'),
         url('../fonts/soehne-breit-web-kraftig.woff') format('woff');
     font-weight: normal;
     font-style: normal;
}

@font-face {
    font-family: 'soehne_breit_dreiviertelfett';
    src: url('../fonts/soehne-breit-web-dreiviertelfett.eot');
    src: url('../fonts/soehne-breit-web-dreiviertelfett.eot?#iefix') format('embedded-opentype'),
         url('../fonts/soehne-breit-web-dreiviertelfett.woff2') format('woff2'),
         url('../fonts/soehne-breit-web-dreiviertelfett.woff') format('woff');
     font-weight: normal;
     font-style: normal;
}

@font-face {
    font-family: 'tiempos_headline_web_regular';
    src: url('../fonts/tiempos-headline-web-regular.eot');
    src: url('../fonts/tiempos-headline-web-regular?#iefix') format('embedded-opentype'),
         url('../fonts/tiempos-headline-web-regular.woff2') format('woff2'),
         url('../fonts/tiempos-headline-web-regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

html {
  font-size: 16px;
}

body {
  background-color: #ebebea;
	font-family: 'Roboto', sans-serif;
  font-size: 0.875em;
	font-weight: 400;
}

ul {
	list-style: none;
	padding-left: 0;
}

.img-responsive {
  height: auto;
  max-width: 100%;
  display: block;
}

/*
  Dla zdjęć które teoretycznie mają minimum 690px w poziomie ustawiam szerokość zdjęcia na szerokośc kolumny. Chodzi o to, aby nie rozciągnąć małych obrazków na całą szerokość kolumny (one nie powinny mieć srcset oraz powinny teoretycznie posiadać klasę "small"). Przykład małego obrazka: /projekty/programy-i-projekty-mkdnis/programy-ministra---dotacje-dla-bn/
*/
.img-responsive[srcset] { width: 100%; }

button:focus,
.form-control:focus {
  box-shadow: none !important;
}


/*
  rozszerzenie BS
*/

@media (min-width: 1600px) {
  .container {
    max-width: 1250px;
    max-width: 1512px;
  }
}

.col-xxl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

@media (min-width: 1600px) {
  .d-xxl-block {
    display: block !important;
  }

  .d-xxl-inline-block {
      display: inline-block !important;
  }

  .col-xxl-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-xxl-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .order-xxl-1 {
    -ms-flex-order: 1;
    order: 1;
  }
  .order-xxl-2 {
    -ms-flex-order: 2;
    order: 2;
  }

  .pt-xxl-0 {
    padding-top: 0 !important;
  }
}

/*
  zwężone kontenry dla breadcrumbs i treści
*/

@media (min-width: 992px) {
  .bn-slim-container #breadcrumbs,
  .bn-slim-container main.content {
    width: 733px;
    margin: 0 auto;
  }
}

/*
  sprite
*/

.sprite {
  background: url('../img/sprite_v1.2-min.svg') no-repeat top left;
  display: block;
  /*background-size: auto calc(458px*0.63);*/
  background-size: auto calc(288px*0.63);
}

@media (min-width: 768px) {
  .sprite {
    background-size: auto;
  }
}

.no-scale { background-size: auto; }


/*
  logos
*/

.sprite.logo_bn {
  width: 139px;
  height: 43px;
  background-position: 0 0;
}

.sprite.logo_ue {
  width: calc(132px*0.63);
  height: calc(30px*0.63);
  background-position: 0 calc(-53px*0.63);
}

@media (min-width: 768px) {
  .sprite.logo_ue {
    width: 132px;
    height: 30px;
    background-position: 0 -53px;
  }
}

.sprite.logo_niepodlegla {
  width: calc(119px * 0.63);
  height: calc(36px * 0.63);
  background-position: 0 calc(-93px*0.63);
}

@media (min-width: 768px) {
  .sprite.logo_niepodlegla {
    width: 119px;
    height: 36px;
    background-position: 0 -93px;
  }
}

.sprite.logo_academica {
  width: calc(117px*0.63);
  height: calc(24px*0.63);
  background-position: 0 calc(-139px*0.63);
}

@media (min-width: 768px) {
  .sprite.logo_academica {
    width: 117px;
    height: 24px;
    background-position: 0 -139px;
  }
}

.sprite.logo_polona {
  width: calc(95px*0.63);
  height: calc(15px*0.63);
  background-position: 0 calc(-173px*0.63);
}

@media (min-width: 768px) {
  .sprite.logo_polona {
    width: 95px;
    height: 15px;
    background-position: 0 -173px;
  }
}

/*
.sprite.logo_ue_footer {
  width: 51px;
  height: 31px;
  display: inline-block;
  background-position: 0 -241px;
}

.sprite.logo_krdk {
  width: 51px;
  height: 32px;
  display: inline-block;
  background-position: 0 -198px;
}

.sprite.logo_grants {
  width: 63px;
  height: 26px;
  display: inline-block;
  background-position: 0 -283px;
}

.sprite.logo_nfos {
  width: 29px;
  height: 41px;
  display: inline-block;
  background-position: 0 -319px;
}

.sprite.logo_mkidn {
  width: 101px;
  height: 37px;
  display: inline-block;
  background-position: 0 -371px;
}
*/

/*
.sprite.logo_bip {
  width: calc(34px*0.63);
  height: calc(40px*0.63);
  display: inline-block;
  background-position: 0 calc(-198px*0.63);
}

@media (min-width: 768px) {
  .sprite.logo_bip {
    width: 34px;
    height: 40px;  
    background-position: 0 -198px;  
  }
}
*/

.sprite.logo_bip {
  width: 34px;
  height: 40px;
  display: inline-block;
  background-position: 0 -198px;  
}

/*
.sprite.logo_migam {
  width: calc(47px*0.63);
  height: calc(40px*0.63);
  display: inline-block;
  background-position: 0 calc(-248px*0.63);
}

@media (min-width: 768px) {
  .sprite.logo_migam {
    width: 47px;
    height: 40px;
    background-position: 0 -248px;
  }
}
*/
.sprite.logo_migam {
  width: 47px;
  height: 40px;
  display: inline-block;
  background-position: 0 -248px;
}


/*
  icons
*/

.sprite.icon_search {
  width: 24px;
  height: 25px;
  background-position: 0 -395px;
}

.sprite.icon_arrow {
  width: calc(33px*0.63);
  height: calc(15px*0.63);
  background-position: 0 calc(-429px*0.63);
}

@media (min-width: 768px) {
  .sprite.icon_arrow {
    width: 33px;
    height: 15px;
    background-position: 0 -429px;
  }
}

.sprite.icon_arrow_black {
  width: calc(33px*0.63);
  height: calc(20px*0.63);
  background-position: 0 calc(-454px*0.63);
}

@media (min-width: 768px) {
  .sprite.icon_arrow_black {
    width: 33px;
    height: 20px;
    background-position: 0 -454px;
  }
}

.sprite.icon_arrow_red {
  width: calc(26px*0.63);
  height: calc(16px*0.63);
  background-position: 0 calc(-484px*0.63);
}

@media (min-width: 768px) {
  .sprite.icon_arrow_red {
    width: 26px;
    height: 16px;
    background-position: 0 -484px;
  }
}

.sprite.icon_arrow_slider {
  width: 16px;
  height: 26px;
  background-position: 0 -566px;
}

.sprite.icon_arrow_download {
  width: calc(19px*0.63);
  height: calc(19px*0.63);
  background-position: 0 calc(-877px*0.63);
}

@media (min-width: 768px) {
  .sprite.icon_arrow_download {
    width: 19px;
    height: 19px;
    background-position: 0 -877px;
  }
}

.sprite.icon_triangle {
  width: calc(20px*0.63);
  height: calc(12px*0.63);
  background-position: 0 calc(-514px*0.63);
  transform: rotate(180deg);
  transition: transform 0.3s ease;
}

@media (min-width: 768px) {
  .sprite.icon_triangle {
    width: 20px;
    height: 12px;
    background-position: 0 -514px;
  }
}

.collapsed .sprite.icon_triangle { transform: rotate(0deg); }

.sprite.icon_triangle_red { background-size: auto; background-position: 0 -536px; width: 12px; height: 20px; }

.rotate_90 {
  transform: rotate(-90deg) !important;
}


/*
  mCustomScrollbar
*/

.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #040505;
}

.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar {
  background-color: #040505;
}


/*
	header
*/

header {
  width: 100%;
  position: fixed;
  z-index: 101;
}

/*
	alerts
*/

#info:not(.start #info) { display: none; }

#info,
#cookies {
  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  font-size: 0.75em;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

#info,
#info a {
  background-color: #d50116;
  color: #ebebea;
}

#cookies {
  width: 100%;
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 101;
  background-color: rgba(112, 112, 112, 0.6);
}

#cookies a { color: #ebebea; }

#info a,
#cookies a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

#info strong,
#cookies strong { font-weight: 700; }

#info .alert,
#cookies .alert {
  padding-right: 32px;  /* zmniejszenie domyślnego odstępu z prawej strony dla przycisku "x" */
  margin-bottom: 0;
  position: relative;
  line-height: 1.6;
}


/*
  Przycisk "x" licujący z pozostałymi elementami na stronie umieszczonymi w kontenerach .container
*/

/*
#info button {
  padding-right: 0;
  font-size: inherit;
  font-weight: normal;
  line-height: inherit;
}
*/
.alert button {
  width: 20px;
  height: 20px;
  padding: 0;
  margin-top: -2px;
  /*margin-right: -25px;*/
  border: none;
  position: absolute;
  top: 0.65625rem;
  right: 3px;
  /*position: relative;
  float: right;
  */
  background-color: transparent;
}

.alert button .icon-bar {
  width: 100%;
  height: 2px;
  border: 1px solid transparent;
  display: block;
  position: absolute;
  top: 50%;
  background-color: #fff;
}

.alert .icon-bar:nth-child(1) {
  transform: translateY(-50%) rotate(-45deg);
}

.alert .icon-bar:nth-child(2) {
  transform: translateY(-50%) rotate(45deg);
}

/*
  BN logo
*/

#logo {
  width: 43px;
  height: 43px;
  margin: 17px 15px 17px 0;
  float: left;
  overflow: hidden;
  color: #707070;
}

#logo:hover { color: #707070; }

@media (min-width: 768px) {
  #logo {
    width: 139px;
    height: 43px;
  }
}

/*
  Pasek menu widoczny przez cały czas. Wysokość nie jest określona, kontener "rozpychany" przez znajdujace się w nim elementy
*/

header .wrapper	 {
  background-color: #ebebea;
  border-bottom: 1px solid #727878;
}

header .wrapper > .container { text-align: right; }

/*
  hamburger
*/

/*
  Przycisk tworzy kontener o wysokości paska menu.
  Zawartość przycisku jest domyślnie centrowana w pionie przez przeglądarki (domyślne zachowanie dla "button", pod warunkiem, że zawartość jest block lub tekst, przy inline-block elementy nie są do końca wyrównane).
  Jeżeli menu jest zwinięte to paski układają się jeden pod drugim. Odstęp między paskami ustawiany za pomocą margin-top dla drugiego i trzeciego paska.
  Jeżeli menu jest rozwinęte paski górny i dolny obracane są o 45 stopni + pozycjonowane względem środka button. Pasek środkowy straje się przezroczysty i go nie widać.
*/

button.navbar-toggle {
	width: 26px;
	height: 77px;
	padding: 0;
	margin: 0 0 0 11px;
	border: none;
  float: right;
  position: relative;  /* bs4 */
  background-color: transparent;
  /*
  do przetestowania
  vertical-align: middle;
  */
}

.navbar-toggle .icon-bar {
  width: 100%;
  height: 2px;
  /*border: 1px solid transparent;*/
  display: block;
  position: absolute;
	top: 50%;
}

.navbar-toggle.collapsed .icon-bar {
	transform: rotate(0deg);
	position: static;
}

.navbar-toggle .icon-bar + .icon-bar { margin-top: 0;	}
.navbar-toggle.collapsed .icon-bar + .icon-bar { margin-top: 6px;	}

.icon-bar:nth-child(2) {
	background-color: #000;
  border: 1px solid transparent;
	transform: rotate(45deg);
	transition: transform 0.3s ease-out;
}

/*
  Normalnie środkowy pasek ma kolor przezroczysty. Kolor biały jest ustawiany tylko wtedy gu menu jest zwinięte
*/

.collapsed .icon-bar:nth-child(3) {
  border: 1px solid transparent;
  background-color: #000;
}

.icon-bar:nth-child(4) {
	background-color: #000;
  border: 1px solid transparent;
	transform: rotate(-45deg);
	transition: transform 0.3s ease-out;
}

/*
	header: lang
*/

#lang {
	height: 77px;
	margin: 0 10px;
	display: inline-block;
	line-height: 77px;
  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
}

#lang a {
	color: #000;
	font-size: 1em;
}

/*
  menu search form
*/

header form {
  display: inline-block;
  vertical-align: middle;
  position: relative;
}

header button#srch {
  height: 34px;
  padding: 0 10px;
  border: none;
  border-radius: 0;
  font-size: 24px;
  background-color: #ebebea; /*brown;*/
  color: #000;
  position: relative;  /* przykrycie zwniętego input'a */
}

header button#srch:focus { box-shadow: none; }

/*
header button#srch:before {
  background: url('../img/sprite.svg') no-repeat top left;
  display: block;
  background-size: auto;
  content: "";

  width: 24px;
  height: 25px;
  background-position: 0 -395px;

  position: absolute;
  top: 8px;
}
*/
/*
  Nadpisuje z bootstrap relative, top: 1, display: inline-block
  Wykorzystuje domyślne wyrównanie w pionie dla elementów bloków w "button"
*/

header button#srch span.glyphicon {
  display: block;
  position: static;
}

/*
  Input zwinięty
*/

header input#menu-q {
  width: 0px;
  height: 34px;  /* bs4 */
  border: none;
  border-radius: 0;
  display: inline-block;
  position: absolute;
  right: 0;
  color: #999;
  font-size: 1rem;
  transition: width 0.4s ease-in-out;
}

header input#menu-q.active {
  width: 150px;
  border: 1px solid #ccc;
  position: absolute;
  right: 44px;
  background-color: #fff;
}

/*
  drop-down menu
*/

header.drop-down {
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

header.drop-down .outer-wrapper {
	height: 100%;
  padding-top: 77px;  /* wysokość menu */
	margin-top: -77px;
}

@keyframes slide-menu {
	from { height: 0; }
	to { height: 100%;	}
}

header.drop-down .inner-wrapper {
  height: 100%;  /* rozciągnięcie kontenera na wysokość rodzica */
  overflow: auto;  /* gdyby nie zadziałał mCustomScrollbar */
	background-color: #ebebea;
  animation-name: slide-menu;
	animation-duration: 1s;
}

#main-menu { background-color: #ebebea; }

@media (min-width: 1200px) {
  #main-menu .container {
    padding: 0 258px;
  }
}

#menu-list { margin-top: 10px; }

@media (min-width: 992px) {
  #menu-list { margin-top: 50px; }
}


#menu-list .top-level {
  border-bottom: 1px solid #727878;
}

#menu-list a { color: #302f2f; }

#main-menu .panel-heading {
  padding: 37px 15px 20px 10px; /* bs4 */
  position: relative;

  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  font-size: 1em;
  letter-spacing: 0.1em;
  line-height: 1.3125;
  color: #040505;
}

@media (min-width: 768px) {
  #main-menu .panel-heading {
    font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  	font-size: 1.625em;
    letter-spacing: 0.04em;
    line-height: 1.26923;
  }
}

#main-menu .panel-heading a {
  color: #040505;
}

#main-menu .panel-heading a[data-toggle="collapse"]:first-child {
  float: right;
  margin-left: 35px;
}

@media (min-width: 768px) {
  #main-menu .panel-heading a[data-toggle="collapse"]:first-child {
    float: none;
    margin-right: 35px;
  }
}

/*
  link jako pozycja menu pierwszego poziomu. Wyrównanie "wcięcią" linków z rozwijanymi pozycjami menu
*/

@media (min-width: 768px) {
  #main-menu .panel-heading a.link { margin: 0 0 0 90px; }
}


#main-menu .panel-heading > a:focus {
	border: none;
}

/*
  Wyłączenie podkreślenia tylko dla "głównych" pozycji menu
*/
#main-menu .panel-heading > a:hover,
#main-menu .panel-heading > a:focus {
	text-decoration: none;
}

/*
  obracne dziubki
*/
#main-menu .panel-heading > a[data-toggle="collapse"] span:first-child {
  display: inline-block;
	position: relative;
	top: -2px;
	line-height: 19px;
  vertical-align: middle;
	transform: rotate(180deg);
	transition: transform 0.3s ease;
}

@media (min-width: 768px) {
  #main-menu .panel-heading > a[data-toggle="collapse"] span:first-child {
    width: 20px;  /* Ustawione, żeby móc później precyzyjnie określić margines z lewej strony dla pozycji rozwiniętego menu */
  }
}


#main-menu .panel-heading > a[data-toggle="collapse"].collapsed span { transform: rotate(0deg); }

/*
  klasa .panel przypisana jest do pozycji menu pierwszego poziomu
*/
#main-menu .panel ul  {
  margin-left: 44px;
  margin-bottom: 15px;
}

@media (min-width: 768px) {
  #main-menu .panel ul  {
    margin-left: 100px;  /* Wcięcie z lewej strony dla pozycji menu głównego */
    margin-bottom: 35px;
  }
}

#main-menu .panel li { margin-bottom: 10px; }

#main-menu .panel ul a {
  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  font-size: 0.75em;
  line-height: 1.25;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

#main-menu .panel ul a:hover {
  color: #dc091d;
  text-decoration: none;
}

@media (min-width: 768px) {
  #main-menu .panel ul a {
    font-size: 1em;
    line-height: 1.3125;
    letter-spacing: 0.04em;
    color: #000; /* #dc091d;*/
  }
}


/*
	header: hours, address
*/

#opening-hours {
  padding-top: 15px;   /* odstęp od menu */
  padding-bottom: 15px;  /* odstęp od treści */
  font-family: 'soehne_breit_kraftig', sans-serif;
  letter-spacing: 0.08em;
	font-size: 0.57142em;
  color: #000;
	line-height: 36px;
  background-color: #ebebea;
}

@media (min-width: 768px) {
  #opening-hours {
    font-size: 0.8em;
  }
}

#opening-hours a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.hours { text-align: left; }

@media (min-width: 992px) {
  .hours a { padding-left: 70px; }
}

@media (min-width: 1600px) {
  .hours { text-align: right; }
  .hours a { padding-left: 0; }
}

.hours a span:first-child {
  display: none;
}

@media (min-width: 840px) {
  .hours a span:first-child {
    display: inline;
  }
}

.address { text-align: right; }

.address a {
  float: left;
}

/*
  do akceptacji
*/
@media (min-width: 1600px) {
  #opening-hours .address > div {
    padding-left: 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

.address .sprite.logo_ue,
.address .sprite.logo_niepodlegla {
  display: inline-block;
  vertical-align: middle;
}

.address .sprite.logo_niepodlegla {
  margin-right: 10px;
  position: relative;
  top: -2px;
}

@media (min-width: 1600px) {
  .address .sprite.logo_niepodlegla {
    margin-right: 0;
  }
}

/*
	wrapper
*/

#wrapper {
  padding-top: 77px;
  background-color: #fff;
}

.start #wrapper {
  background-color: inherit;
}

/*
	footer
  >= 992 układ kolumnowy
*/

footer {
  padding-top: 50px;
  padding-bottom: 40px;
  color: #302f2f;

  font-size: 0.85em;
  font-family: 'Roboto', sans-serif;
	font-weight: 300;  /* light */
	line-height: 1.5;
}

@media (min-width: 992px) {
  footer {
    padding-top: 100px;
    font-size: 0.92857em; /*0.875em;*/
  }
}

footer #bn-address,
footer #main-footer-content {
  padding: 0 45px;
}

@media (min-width: 992px) {
  footer #bn-address,
  footer #main-footer-content {
    padding: 0 15px;
  }
}


/*
@media (min-width: 1200px) {
  footer {
    padding-top: 140px;
  }
}
*/

footer #main-footer-content > .row {  /* odstęp główna treść stopki logotypy */
  padding-bottom: 30px;
}
/*
  kolor nagłówki, linki
*/
footer a,
footer h3 a,
footer h4 {
	color: inherit;
}


footer.en h2,
footer h3,
footer h4 {
  margin-bottom: 0;
  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  font-size: 0.66666em;
  letter-spacing: 0.08em;
  line-height: 2.75em;
}

@media (min-width: 992px) {
  footer.en  h2,
  footer h3,
  footer h4 {
    font-size: 0.85714em;
    line-height: 1.83333;
  }
}

footer a:hover {
  color: inherit;
	text-decoration: underline;
}


/*
  red line
*/

footer .row ul,
footer #bn-address div p {
  padding-bottom: 30px;
  border-bottom: 1px solid #d50116;
}

footer .row ul:last-child,
footer #bn-address div.other-locations:last-child p {
  padding-bottom: 0;
  border-bottom: none;
}

footer #footer-logos {
  padding-top: 15px;
  padding-bottom: 40px;
  border-top: 1px solid #d50116;
}

@media (min-width: 992px) {
  footer #footer-logos { border-top: none; }
}

/*
  footer logos
*/

footer #footer-logos li {
  margin-top: 30px;
  /*
  flex-basis: 33%;
  */
  width: 33%;
}

@media (min-width: 768px) {
  footer #footer-logos li { /*flex-basis: auto;*/ width: auto; }
}

/*
	end footer
*/



/**
	play icon
*/

.video-js .vjs-big-play-button::before,
.video-js .vjs-control::before,
.video-js .vjs-modal-dialog,
.vjs-modal-dialog .vjs-modal-dialog-content {
	position: static;
}

.vjs-big-play-centered .vjs-big-play-button {
	margin-top: -45px;
	margin-left: -45px;
	font-size: 4em;
}

.video-js .vjs-big-play-button {
	width: 90px;
	height: 90px;
	border-radius: 50%;
}

.vjs-big-play-centered.bottom .vjs-big-play-button {
	margin-top: auto;
	margin-left: auto;
	font-size: 2.5em;
	bottom: 10px;
	left: 10px;
}

.video-js.bottom .vjs-big-play-button {
	width: 60px;
	height: 60px;
}


/*
	forms
*/

main.content .note .bn-form li::before { content: '' !important; }

/*
.bn-form { font-size: 16px; }
*/

.bn-form legend {
	margin-top: 20px;
  text-transform: uppercase;
}

main.content .note .bn-form ul { padding: 0; }

.bn-form li {
  padding-bottom: 10px;
  padding-left: 0 !important;
}

.bn-form.omnis-form li {
	width: 100%;
	display: table;
}

.bn-form label {
	margin: 0;
	display: block;
	font-weight: 500;
}

label[for^="agree"], form[action="/projekty/patrimonium/glosowanie#form"] label {
	width: 100%;
	padding-right: 30px;
	margin: 7px -30px 0 0;
	float: right;
}

.bn-form span.hint {
	font-size: 0.8em;
	display: block;
	margin-top: -4px;
	margin-bottom: 3px;
}

.bn-form select ,
.bn-form textarea,
.bn-form input[type=text] {
	width: 100%;
	padding: 8px 0;
  border: none;
	border-bottom: 1px solid #707070;
}

.bn-form input[type=checkbox] {
	margin-top: 15px;
}

.bn-form input,
.bn-form select,
.bn-form textarea {
	border-radius: 0;
}

.bn-form select,
.bn-form input[type=text] {
	height: 45px;
}

.bn-form textarea { height: 200px; }

.bn-form.omnis-form textarea {
	height: 120px;
	display: block;
}

.bn-form select {
	padding-right: 25px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../images/ico_drop.png) 98% 14px no-repeat;
}

.bn-form select::-ms-expand {
	display: none; /* hide the default arrow in ie10 and ie11 */
}

#fieldset-submit { text-align: center; }

.bn-form input[type=submit] {
  padding: 0 25px;
  border: 1px solid #d50116;
  display: inline-block;

  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  font-size: 0.625em;
  line-height: 40px;
  letter-spacing: 0.08em;
  background-color: transparent;
  color: #d50116 !important;
  text-decoration: none;
  text-transform: uppercase;
}

.bn-form input[type=submit][disabled=disabled] {
	background-color: #717171;
}

.bn-form .errors {
	margin-top: 7px;
	margin-bottom: -10px;
	color: #ff0000;
}

.bn-form.omnis-form .errors {
	display: table-footer-group;
}

.bn-form li::after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
}



/*
	skip links
*/

.anchor {
	display: block;
	position: relative;
	top: -90px;
}

.skip-links { margin: 0; }

.skip-links a {
	outline: #fff dashed 2px !important;
	position: fixed;
	top: 0;
	left: -9000em;
	z-index: 102;
	text-decoration: none;
}

.skip-links a:focus {
	padding: 2px 15px;
	outline-offset: 0 !important;
	outline-color: #fff;
	left: 5px;
	background-color: #707070;
	color: #fff;
}

/*
  start H2 headers
*/

h2.bn-h2 {
  margin-bottom: 25px !important;
  font: 1.125em/1.27777 'soehne_breit_dreiviertelfett', sans-serif !important;  /* 18/23 */
  letter-spacing: 0.1em;
  color: #d50116;
  text-align: center;
  text-transform: uppercase;
}

h2.bn-h2 a {
  color: inherit;
  text-decoration: none;
  transition: color 0.7s ease;
}

h2.bn-h2 a:hover {
  color: #302f2f;
}


@media (min-width: 768px) {
  h2.bn-h2 {
    margin-bottom: 40px !important;
    font-size: 2em !important;  /* 32 */
    line-height: 1.25 !important;  /* 40 */
    letter-spacing: 0.06em;
    text-align: left;
  }
}

.start #sfj h2 {
  font-size: 1.125em;
  line-height: 1.27777;
  letter-spacing: 0.1em;
}

.start #social h2 {
  font-size: 0.875em; /* 14 */
  line-height: 1.28571;  /* 18 */
  letter-spacing: 0.1em;
}

@media (min-width: 768px) {
  .start #social h2 {
    font-size: 1.25em; /* 20 */
    line-height: 1.3;  /* 26 */
    text-align: center;
  }
}


/*
  Wyszukiwarka
*/

#main-search {
  color: #000;
}

#main-search form {
  padding: 10px;
  background-color: #fff;
}

/*
  Zmniejszenie szerokości przez dodanie dodatkowego padding'u
*/
@media (min-width: 992px) {
  #main-search form {
    padding: 50px 70px;
  }

  #main-search .links {
    padding: 20px 0 8px;  /*padding: 20px 100px 8px;*/
  }
}

#main-search button {
  height: 40px;
  padding: 0;
}

@media (min-width: 768px) {
  #main-search button {
    height: calc(1.5em + 0.65625rem + 2px);
  }
}

/*
  Usunięcie obramowania, dodanie dolnej linii
*/
#main-search input,
#main-search button {
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #727878;
  font-size: 0.875em;
}

#main-search button span.icon-arrow-gray { font-size: 9px; }

@media (min-width: 768px) {
  #main-search input,
  #main-search button {
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #727878;
    font-size: 1.75em;
  }

  #main-search button span.icon-arrow-gray { font-size: 15px; }
}


#main-search input::placeholder {
  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  color: #d9d9d7;
  font-size: 16px;
}

@media (min-width: 768px) {
  #main-search input::placeholder {
    font-size: inherit;
  }
}

#main-search input {
  height: 40px;
  font-size: 16px;
  letter-spacing: 0.02em;
  line-height: 1.28571;
  caret-color: #000;
}

@media (min-width: 768px) {
  #main-search input {
    height: calc(1.5em + 0.65625rem + 2px);
    font-size: 1.75em;
  }
}

.custom-control-label {
  /*text-transform: lowercase;
  font-variant: small-caps;*/
}

/*
#main-search .custom-control-input {
  width: 12px;
  height: 12px;
  top: 6px;
  left: -20px;
}
*/

#main-search .custom-control-label {
  font-size: 0.7em;
  letter-spacing: 0.04em;
  color: #727878;
}

@media(min-width: 768px) {
  #main-search .custom-control-label {
    font-size: 13px;
    color: #000;
  }
}


/*
 Nadpisuje właściwości BS, tak aby zachować wielkość "kółka" 16px i wielość line-height: 24px - przeliczam rem'y na piksele
*/

@media (min-width: 992px) {
  #catalog {
    margin-right: 45px;
  }
}

#main-search .custom-control.custom-radio  {
  padding-left: 20px;
  font-family: 'soehne_breit_kraftig', sans-serif;
}

@media (min-width: 768px) {
  #main-search .custom-control.custom-radio  {
    padding-left: 24px;
  }
}

/*
 Domyślny stan - samo kółko
*/

.custom-control-label {
  line-height: 24px;
}

.custom-control-label::before {
  width: 12px;
  height: 12px;
  top: 6px;
  left: -20px;
  border-color: #000;
}

@media (min-width: 768px) {
  .custom-control-label::before {
    width: 14px;
    height: 14px;
    top: 5px;
    left: -24px;
  }
}

/*
 Stan po zaznaczeniu
*/

.custom-control-label::after {
  width: 12px;
  height: 12px;
  top: 6px;
  left: -20px;
}

@media (min-width: 768px) {
  .custom-control-label::after {
    width: 14px;
    height: 14px;
    top: 5px;
    left: -24px;
  }
}

.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: none;
}

body.high-contrast .custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

.custom-control-input:checked ~ .custom-control-label::before {
  border-color: #d50116;
  background-color: #d50116
}

.custom-radio .custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: none;
}

.custom-radio .custom-control-input:active ~ .custom-control-label::before {
  background-color: #d50116;
}


/*
  linki: polona, academica
*/

#main-search > .row {
  margin-top: 0.875rem;
  font-size: 8px;/*0.5em;*/
  letter-spacing: 0.04em;
  font-family: 'soehne_breit_kraftig', sans-serif;
}

@media (min-width: 768px) {
  #main-search > .row {
    font-size: 0.8em;
  }
}

@media (min-width: 1200px) {
  #main-search .links .col-6:first-child {
    padding-right: 0;
  }

  #main-search .links .col-6.right {
    padding-left: 0;
  }

  #main-search .links .col-6:first-child .row {
    padding-left: 70px;
  }

  #main-search .links .col-6.right .row {
    padding-right: 70px;
  }
}

#main-search > .row span.sprite.icon_arrow {
  display: inline-block;
  vertical-align: baseline;
}

@media (min-width: 1200px) {  /* 1600 */
  #main-search .links {
    margin-top: 2px;
  }
}

#main-search .links a {
  height: 34px;
  position: relative;
  background-color: #fff;
  text-decoration: none;
  /*line-height: 34px;*/
}

@media (min-width: 768px) {
  #main-search .links a {
    /*line-height: 50px;*/
    height: 50px;
  }
}

@media (min-width: 1200px) {  /* 1600 */
  #main-search .links a {
    height: auto;
    line-height: 39px;
    background-color: transparent;
  }
}

#main-search .links a .sprite {
  position: absolute;
  top: 50%;
  left: 50%;
}

#main-search .links a .sprite.logo_polona {
  margin-top: -4px;
  margin-left: -30px;
}

@media (min-width: 768px) {
  #main-search .links a .sprite.logo_polona {
    margin-top: -8px;
    margin-left: -43px;
  }
}

#main-search .links a .sprite.logo_academica {
  margin-top: -10px;
  margin-left: -37px;
}

@media (min-width: 768px) {
  #main-search .links a .sprite.logo_academica {
    margin-top: -17px;
    margin-left: -59px;
  }
}

@media (min-width: 1200px) {
  #main-search .links a .sprite {
    margin: auto !important;
    position: static;
  }
}


#main-search > .row span.logo_academica {
/*
  position: relative;
  top: -2px;
  */
}

@media (min-width: 1200px) {  /* 1600 */
  #main-search > .row span.logo_academica {
    /*top: -10px;*/
    position: static;
  }
  /*
  #main-search > .row span.logo_academica + span.icon_arrow {
    position: relative;
    top: -5px;
  }
  */

  .desc {
    line-height: 39px;
    margin-right: 18px;
  }
}

#main-search .links a .icon-arrow-gray {
  position: relative;
  top: -1px;
  font-size: 15px;
}
/*
  Aktualności
*/

.tiles-container {
  padding-top: 30px;
  padding-bottom: 30px;
}

@media (min-width: 768px) {
  .tiles-container {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

body.article .tiles-container {
  padding-left: 0;
  padding-right: 0;
}

.tiles-container .wrapper {
  height: 100%;
  padding-bottom: 40px;  /* odstęp treść <-> podkreślenie */
  border-bottom: 1px solid #727878;
  position: relative;
}

@media (min-width: 768px) {
  .tiles-container .wrapper {
    padding-bottom: 35px; /* odstęp treść <-> podkreślenie */
  }
}

.tiles-container .wrapper .picture {
  margin-bottom: 20px;
  overflow: hidden;
  position: relative;
}

.tiles-container .wrapper .picture span {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.tiles-container .wrapper .picture .overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.tiles-container .wrapper:hover .picture .overlay { opacity: 0.5; }

.tiles-container .wrapper a:hover { text-decoration: none; }

.tiles-container .wrapper a.link { /* link rozciągnięty na całą zawartość wrapper'a */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.tag {
  margin-bottom: 10px;
  font-family: 'soehne_breit_kraftig', sans-serif;
  font-size: 0.71em;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .tag {
    font-size: 0.8em;
  }
}

.tag a {
  padding: 4px 6px;
  border: 1px solid #d50116;
  display: inline-block;
  position: relative;
  z-index: 1;
  color: #d50116;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.004);
}

@media (min-width: 768px) {
  .tag a {
    padding: 6px 8px;
  }
}

.tiles-container h3 {
  margin: 0;
  font-family: 'tiempos_headline_web_regular', serif;
  font-size: 1.5em;
  line-height: 1.375;
  color: #000;
  transition: color 0.7s ease;
}

@media (min-width: 768px) {
  .tiles-container h3 {
    font-size: 2em;
  }
}

.tiles-container .wrapper:hover h3 { color: #d50116; }

/*
  Big news
*/
@media (min-width: 992px) {
  #bigNews .picture {
    margin-bottom: 0;
  }

  #bigNews h3 {
    margin-bottom: 35px;
  }
}

#bigNews p {
  font-size: 1.125em;
}

#bigNews #note-wrapper p {
	display: -webkit-box !important;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
  overflow: hidden;
}

#bigNews #note-wrapper em {
  font-style: italic;
}

#bigNews #note-wrapper strong {
  font-weight: 500;
}

@media (min-width: 1200px) {
  #bigNews #note-wrapper p {
    display: block !important;
  }
}

/*
  Tile article, project
*/

.tiles-container .tile.article {
  margin-bottom: 30px;
}

@media (min-width: 768px) {
  .tiles-container .tile.article {
    margin-bottom: 42px;
  }
}

.tiles-container .tile.article .title > div {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.tiles-container .tile.article .picture { margin-bottom: 0; }
.tiles-container .tile.article .col-4.col-md-12 { padding-right: 0; }
.tiles-container .tile.article .col-8.col-md-12.title { padding-left: 10px; }

@media (min-width: 768px) {
  .tiles-container .tile.article .picture { margin-bottom: 35px; }
  .tiles-container .tile.article .col-4.col-md-12 { padding-right: 15px; }
  .tiles-container .tile.article .col-8.col-md-12.title { padding-left: 15px; }
}

.tiles-container .tile.article .title h3 {
  font-size: 1em;
  margin: 0;
}

@media (min-width: 768px) {
  .tiles-container .tile.article .title h3 {
    font-size: 1.5em;
  }
}

/*
  more news
*/

.btn-more a {
  padding: 0 25px;
  border: 1px solid #d50116;
  display: inline-block;
  line-height: 40px;

  position: relative;

  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  font-size: 0.625em;
  letter-spacing: 0.08em;
  color: #d50116 !important;
  text-decoration: none;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .btn-more a {
    font-size: 0.75em;
  }
}

.btn-more a span { display: inline-block; }

.btn-more a span.icon-arrow-black {
  margin-left: 20px;
  position: relative;
  top: -1px;
  vertical-align: middle;
  font-size: 10px;
  transition: transform 0.3s ease;
}

@media (min-width: 768px) {
  .btn-more a span.icon-arrow-black {
    font-size: 15px;
  }
}

.btn-more a:hover span.icon-arrow-black {
  transform: translateX(5px);
}

/*
  shortcut, faq, job
  > 1200 zachowany układ zgodny z widokiem desktop
  < 1200 układ jednokolumnmowy
  < 768 układ stricte mobilny
*/

#sfj { background-color: #fff; }

#sfj ul { margin-bottom: 0; }

#sfj .container > .wrapper {
  padding: 0 30px;
}

@media (min-width: 1200px) {
  #sfj .container > .wrapper {
    padding-left: 11.80836%;
    padding-right: 11.80836%;  /* 175 */
  }

 #sfj .left {
    padding-right: 4.38596%;  /* 65 */
  }

  #sfj .right {
    padding-left: 4.38596%  /* 65 */
  }
}

/* padding-top */

#sfj .left {
  padding-top: 30px;
}

#sfj .right,
#sfj .bottom {
  padding-top: 25px;
}

/* padding-bottom */

#sfj .left, #sfj .right {
  padding-bottom: 0px;
}

#sfj .bottom {
  padding-bottom: 30px;
}

@media (min-width: 1200px) {
  #sfj .left,
  #sfj .right {
    padding-top: 80px;
    padding-bottom: 20px;
  }

  #sfj .bottom {
    padding-top: 60px;
    padding-bottom: 65px;
  }
}

/*
  Polona
*/

#polona {
  padding-top: 40px;
  padding-bottom: 25px;
  background-image: url('../img/pattern.jpg');
  background-attachment: fixed;
}

@media (min-width: 768px) {
  #polona {
    padding-top: 80px;
    padding-bottom: 100px;
  }
}

#polona > .wrapper {
  padding-bottom: 50px;
}

@media (min-width: 768px) {
  #polona > .wrapper {
    padding-bottom: 90px;
  }
}

.start.en #polona > .wrapper { padding-bottom: 0; }

#polona .images a { display: block; }

#polona .images .wrapper { text-align: center; }

#polona .images .picture {
  width: 100%;
  padding-bottom: 100%;
  background-color: #e0e0e0;

  position: relative;
  display: inline-block;
  margin: auto;
}

#polona .images .picture > div {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 10px solid #fff;
}

@media (min-width: 768px) {
  #polona .images .picture > div {
    border: 15px solid #fff;
  }
}

#polona .images .picture > div img {
  width: 100%;
}

#polona .images .overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000;
  opacity: 0;
  transition: opacity 1s ease;
}

#polona .images a:hover .overlay {
  opacity: 0.5;
}

/*
#polona .images img {
  border: 10px solid #fff;
}

@media (min-width: 768px) {
  #polona .images img {
    border: 15px solid #fff;
  }
}
*/
#polona .images .slick-arrow {
  border: none;
  position: absolute;
  top: 50%;
  z-index: 100;
  background-color: transparent;
  color: #fff;
}

#polona .images .slick-arrow.icon-triangle {
  font-size: 15px;
  opacity: 1;
}

#polona .images .slick-arrow.slick-prev.icon-triangle {
  left: 10px;
  transform: translateY(-50%) rotate(90deg);
}

#polona .images .slick-arrow.slick-next.icon-triangle {
  right: 10px;
  transform: translateY(-50%) rotate(270deg);
}

#polona .links {
  padding-top: 65px;
}

/*
  blog polona
*/

#blog .col-lg-6:first-child {
  margin-bottom: 30px;
}

@media (min-width: 992px) {
  #blog .col-lg-6:first-child {
    margin-bottom: 0;
  }
}

#blog .wrapper {
  height: 100%;
}

#blog .row .col-lg-6:first-child .wrapper {
  border-bottom: 1px solid #727878;
}

@media (min-width: 992px) {
  #blog .wrapper {
    border-bottom: 1px solid #727878;
  }
}

#blog .wrapper .picture {
  margin-bottom: 20px;
  overflow: hidden;
}

#blog .wrapper .picture > div {
  padding-bottom: 66.45569%;
  position: relative;
  background-color: #e0e0e0;
}

@media (min-width: 992px) {
  #blog .wrapper .picture > div {
    padding-bottom: 43.38842%;
  }
}

#blog .wrapper .picture span {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#blog .wrapper .picture .overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

#blog .wrapper:hover .picture .overlay { opacity: 0.5; }

#blog .author {
  margin-bottom: 10px;
  font-family: 'soehne_breit_kraftig', sans-serif;
  font-size: 0.6em;
  line-height: 1.25;
  letter-spacing: 0.1em;
  color: #d50116;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  #blog .author {
    font-size: 0.8em;
  }
}

#blog h3 {
  margin-bottom: 40px;
  font-family: 'tiempos_headline_web_regular', serif;
  font-size: 1.25em;
  line-height: 1.5;
  color: #000;
  transition: color 0.7s ease;
}

@media (min-width: 768px) {
  #blog h3 {
    margin-bottom: 35px;
    font-size: 2em;
  }
}

#blog a:hover {
  text-decoration: none;
}

#blog a:hover h3 {
  color: #d50116;
}

/*
  social
*/

#social {
  padding-top: 40px;
  padding-bottom: 60px;
  background-color: #fff;
}

@media (min-width: 768px) {
  #social {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

#social a {
  color: #302f2f;
  font-size: 25px;
  text-decoration: none;
}

#social a.icon-logo-YT { color: #282828; }

@media (min-width: 768px) {
  #social a {
    font-size: 40px;
  }
}

/*
  breadcrumbs
*/

#breadcrumbs {
  border-bottom: 1px solid #727878;
  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  font-size: 0.5em;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #302f2f;
}

@media (min-width: 992px) {
  #breadcrumbs {
    font-size: 0.71428em;
    line-height: 1.2;
  }
}

/*
  odstęp góra / dół
*/
#breadcrumbs ol {
  padding: 20px 0;
  margin: 0;  /* bs reset */
}

@media (min-width: 992px) {
	#breadcrumbs ol {
    padding-top: 35px;
    padding-bottom: 30px;
  }
}

#breadcrumbs li { display: inline; }

#breadcrumbs a {
  color: inherit;
}


/*
  główna treść
*/

main.content {
  padding-top: 15px;
  padding-bottom: 35px;
  color: #000;
}

@media (min-width: 992px) {
  main.content {
    padding-top: 30px;
    padding-bottom: 80px;
  }
}

.start main.content {
  padding: 0;
}

/*
main.content p a {
  color: inherit;
  text-decoration: underline;
}
*/

/*
  strony artykułowe
*/

.article .container .wrapper {
  border-bottom: 1px solid #727878;
}

main.content time {
  margin-bottom: 10px;
  display: block;
  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  font-size: 0.57142em;
  line-height: 1.25;
  letter-spacing: 0.1em;
  color: #d50116;
}

@media (min-width: 992px) {
  main.content time {
    margin-bottom: 15px;
    font-size: 0.78571em;
  }
}

.article main.content h2,
.article_section main.content h2 {
  margin-bottom: 25px;
  font-family: 'tiempos_headline_web_regular', serif;
  font-size: 1.375em;
  line-height: 1.45454;
}

@media (min-width: 992px) {
  .article main.content h2,
  .article_section main.content h2 {
    margin-bottom: 20px;
    font-size: 2.625em;
    line-height: 1.28571;
  }
}

.article main.content figure {
  margin-bottom: 25px;
}

@media (min-width: 992px) {
  .article main.content figure {
    margin-bottom: 35px;
  }
}

main.content figcaption {
  margin-top: 8px;
  font-family: 'soehne_breit_kraftig', sans-serif;
  font-size: 0.714285em;
  line-height: 1.25;
  letter-spacing: 0.08em;
  color: #727878;
  text-align: right;
  text-transform: uppercase;
}

@media (min-width: 992px) {
  main.content figcaption {
    margin-top: 10px;
    /*font-size: 0.625em;*/
    line-height: 1.2;
  }
}

main.content #lead {
  font-weight: 500;
  /*line-height: 1.25;*/
  /*margin-bottom: 38px;*/   /* zwiększony odstęp między lead'em ,a właściwą treścią */
}

@media (min-width: 992px) {
  main.content #lead {
    /*font-size: 1.26984em;*/
  }
}
main.content #lead em {
  font-weight: 500;
  font-style: italic;
}

main.content .note {
  margin-bottom: 35px;   /* zwiększony odstęp między treścią ,a "udostępnij" */
  font-size: 1em;
  line-height: 1.5;
}

main.content .note:last-child {
  margin-bottom: 0;
}

main.content .note > *:last-child {
  margin-bottom: 0;
}

@media (min-width: 992px) {
  main.content .note {
    font-size: 1.125em;
  }
}

main.content .note p {
  margin-bottom: 20px;
}

main.content .note strong {
  font-weight: 500;
}

main.content .note em {
  font-weight: 400;
  font-style: italic;
}

main.content .note a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: #707070;
}

/*
  Ostylowanie list. Pomijane są linki umieszczone w kontenerze z klasą .link-list
*/

main.content .note ul {
  padding: 0 0 0 40px;
  margin-bottom: 20px;
}

main.content .note div.link-list > ul { padding-left: 0; }

main.content .note ul li { position: relative; }
/*main.content .note div.link-list ul li { padding-left: 0; }*/

main.content .note ul li:before {
  content: '•';
  color: #d50116;
  position: absolute;
  left: -15px;
}

main.content .note div.link-list ul li:before {
  content: '';
  position: static;
}

main.content .note h3,
main.content .note h3 ~ h4,
main.content .note h3 ~ h4 ~ h5 {
  margin-top: 35px;
  margin-bottom: 12px;
  font: 16px/1.25 'soehne_breit_dreiviertelfett', sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #302f2f;
}

main.content .bn-collapse .note h4,
main.content .bn-collapse .note h4 ~ h5 {
  margin-top: 35px;
  margin-bottom: 12px;
  font: 16px/1.25 'soehne_breit_dreiviertelfett', sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #302f2f;
}

main.content .note h3 { font-size: 16px; }
main.content .note h3 ~ h4 { font-size: 14px; }
main.content .note h3 ~ h4 ~ h5  { font-size: 12px; }

main.content .bn-collapse .note h4 { font-size: 14px; }
main.content .bn-collapse .note h4 ~ h5 { font-size: 12px; }

main.content #bip_ft1,
main.content #bip_ft2 {
  margin-bottom: 15px;
}

main.content #bip_ft1 dt,
main.content #bip_ft2 dt {
  font-weight: 500;
}

main.content #bip_ft1 dd { margin-bottom: 8px; }

/*
  share, tags
*/

#share {
  margin-bottom: 15px;
}

@media (min-width: 992px) {
  #share {
    margin-bottom: 20px;
  }
}

#share, #tag {
  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  font-size: 0.5em;
  line-height: 1.25;
  letter-spacing: 0.04em;
}

@media (min-width: 992px) {
  #share, #tag {
    font-size: 0.75em;
  }
}

#share li {
  margin-left: 15px;
}

@media (min-width: 992px) {
  #share li {
    margin-left: 20px;
  }
}

#share li a {
  color: #302f2f;
  font-size: 22px;
  text-decoration: none;
}

#tag a {
  text-transform: uppercase;
  color: #d50116;
}

/*
  submemnu
*/
#submenu {
  margin-bottom: 8px;
  font: 0.6em/1.25 'soehne_breit_kraftig', sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (min-width: 992px) {
  #submenu {
    margin-bottom: 45px;
    font-size: 0.8em;
  }
}

#submenu li {
  margin: 0 12px 12px 0;
  display: inline-block;
}

#submenu li:last-child {
  margin-right: 0;
}

#submenu li a {
  padding: 6px 8px;
  border: 1px solid #727878;
  display: block;
  color: #727878;
  text-decoration: none;
}

#submenu li a.active,
#submenu li a:hover {
  border-color: #d50116;
  color: #d50116;
}

/*
  pagination
*/

/*
.pagination .page {
  text-align: center;
  padding-bottom: 10px;
}
*/

.pagination .page .link {
  width: 40px;
  height: 40px;
  margin-top: 18px;
  margin-left: 18px;
  border: 1px solid #d50116;
  display: inline-block;
  line-height: 38px;
  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  font-size: 0.75em;
  letter-spacing: 0.04em;
  text-align: center;
  color: #dc091d !important;
  position: relative;
}


.pagination .page { display: none; }

.pagination .page.prev,
.pagination .page.active,
.pagination .page.next {
  display: block;
}

@media (min-width: 992px) {
  .pagination .page { display: block; }
}

.pagination .page.active .link {
  background-color: #d50116;
  color: #fff !important;
}

.pagination .page:first-child .link {
  margin-left: 0;
}

.pagination span.sprite {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: -2px;
}

.pagination .prev .sprite {
  transform: rotate(180deg);
}
/*
*/

.pagination .page .icon-triangle {
  display: inline-block;
  vertical-align: middle;
  font-size: 12px;
/*
  position: relative;
  right: -1px;
*/
}

.pagination .page .icon-triangle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.pagination .page.next .icon-triangle::before {
  display: inline-block;
  transform: rotate(-90deg);
}

.pagination .page.prev .icon-triangle::before {
  display: inline-block;
  transform: rotate(90deg);
}

/*
  czytelnie
*/

.reading main.content {
  padding-top: 15px;
  padding-bottom: 40px;
}

@media (min-width: 992px) {
  .reading main.content {
    padding-top: 30px;
    padding-bottom: 60px;
  }
}

/*
  arrow-link, bn-collapse

  mobilna: > 992

  marker zmieniany jest na większy > 768
*/

.bn-collapse .content .link-list {
  padding: 0 35px;
}

@media (min-width: 768px) {
  .bn-collapse .content .link-list {
    padding: 0;
  }
}

.arrow-link,
.bn-collapse .heading h3 {
  font: 0.875rem/1.25 'tiempos_headline_web_regular', serif;
}

@media (min-width: 768px) {
  .arrow-link,
  .bn-collapse .heading h3 {
    font-size: 1.3125rem;
    line-height: 1.5;
  }

  .bn-collapse .content .arrow-link,  /* collapse */
  .bn-collapse .content .bn-collapse .heading  {  /* collapse */
    font-size: 1.09375rem;
  }
}

.arrow-link {
  border-top: 1px solid #727878;
}

.arrow-link a {
  display: block;
  color: #302f2f;
  text-decoration: none !important;
}

#polona .arrow-link a {
  color: #000;
}

.arrow-link .row {
  padding-top: 10px;
  padding-bottom: 20px;
}

@media (min-width: 768px) {
  .arrow-link .row {
    padding-bottom: 32px;
  }
}

.arrow-link .sprite {
  display: inline-block;
  vertical-align: middle;
}

.arrow-link .arrow-icon {
  text-align: right;
  width: 60px;
}

.arrow-link .arrow-icon .icon-triangle,
.arrow-link .arrow-icon .icon-arrow-black {
  display: inline-block;
  color: #161615;
}

.arrow-link .arrow-icon .icon-triangle {
  transform: rotate(180deg);
  transition: transform 0.3s ease;
}

.arrow-link .collapsed .arrow-icon .icon-triangle { transform: rotate(0deg); }

/*
  outline reset
*/

.bn-collapse .heading a:active,
.bn-collapse .heading a:focus { outline: none; }

.bn-collapse .heading a {
  color: #d50116;
}

.bn-collapse .heading a.collapsed {
  color: #302f2f;
}

.note .bn-collapse .heading a.collapsed {
  color: inherit;
}

.bn-collapse .content > .wrapper { padding-bottom: 25px; }

@media (min-width: 768px) {
  .bn-collapse .content > .wrapper {
    padding-bottom: 60px;
    font-size: 0.984375rem;
  }
}

/*
.bn-collapse .content h4 {
  margin-bottom: 30px;
  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  font-size: 0.75em;
  line-height: 1.25;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #302f2f;
}
*/
/*
  Nagłówek/info w trzech kolumnach
*/

.bn-collapse .content .info img {
  margin-bottom: 25px;
}

@media (min-width: 768px) {
  .bn-collapse .content .info img {
    margin-bottom: 30px;
  }
}

@media (min-width: 768px) {
  .bn-collapse .content .info .wrapper {
    height: 100%;
    border-bottom: 1px solid #727878;
  }

  .bn-collapse .content .info .col-12.col-md-4 {  /* Odstęp między kolumnami, a obrazkiem. Pomija wrapper dla obrazka */
    margin-bottom: 30px;
  }
}

main.content .bn-collapse .content .info h4 {
  margin: 0 0 10px 0;
  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  font-size: 0.5em;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #302f2f;
}

@media (min-width: 768px) {
  main.content .bn-collapse .content .info h4 {
    font-size: 0.75rem;  /* 0.66666em;*/
    letter-spacing: 0.04em;
  }
}

.bn-collapse .content .info p {
  font-size: 0.6875rem;  /* 0.77777em; */
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .bn-collapse .content .info p {
    font-size: 0.8125rem;  /* 0.77777em; */
    margin-bottom: 20px;
  }
}

/*
  mobile: odstęp pomiędzy ostatni element info, a tekstem
*/
@media (max-width: 767px) {
  .bn-collapse .content .info .col-12:last-child p {
    margin-bottom: 40px;
  }
}



/*


*/

/*header .outer-wrapper { display: none; }*/
/*header .inner-wrapper { display: none; }*/


.tiles-container .picture > div {
  background-color: #e0e0e0;
  padding-bottom: 66.45569%;
}

@media (min-width: 992px) {
  #bigNews .picture > div {
      padding-bottom: 49.07975%;
  }
  .col-12.col-lg-8.mb-5 .picture > div {
    padding-bottom: 193px;/*32.20858%;*/  /* normalna wysokość wynikająca z przeskalowania 196px; */
  }
}

@media (min-width: 1200px) {
  .col-12.col-lg-8.mb-5 .picture > div {
    padding-bottom: 233px;/*32.20858%;*/  /* normalna wysokość wynikająca z przeskalowania 235px; */
  }
}

@media (min-width: 1600px) {
  .col-12.col-lg-8.mb-5 .picture > div {
    padding-bottom: 315px;/*32.20858%;*/
  }
}

/*
  Galeria
*/

.gallery {
  margin-bottom: 20px;
}

.gallery a { text-decoration: none !important }

.gallery figure > div {
  position: relative;
  background-color: #000;
}

.gallery figure img {
  width: 100%;
  opacity: 0.5;
}

.gallery figure span.icon-gallery {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 35px;
}

@media (min-width: 768px) {
  .gallery figure span.icon-gallery {
    font-size: 50px;
  }
}

/*
  ukrywanie
*/

.note div.table-responsive + p + .gallery figure > div > span {
  display: none !important;
}

/*
.note .gallery + p + .gallery figure > div {
  height: 400px;
}

.note .gallery + p + .gallery figure > div > img {
  display: none !important;
}
*/

/*
  Tabele
*/

.table-responsive {
  width: auto;
  margin: 0 -12px;
}

.note table {
  border-collapse: separate;
  border-spacing: 12px 0;
  margin-bottom: 20px;
}

.note table caption {
  padding: 0;
  margin: 8px 12px 12px 12px;
  font-family: 'soehne_breit_dreiviertelfett', sans-serif;
  font-size: 0.714285em;
  line-height: 1.25;
  letter-spacing: 0.08em;
  color: #727878;
  text-align: left;
  text-transform: uppercase;
}

@media (min-width: 992px) {
  main.content figcaption {
    margin-top: 10px;
    line-height: 1.2;
  }
}

.note table th {
  font: 14px/1.25 'soehne_breit_dreiviertelfett', sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #302f2f;
}

.note table th,
.note table td {
  padding: 10px;
  border-bottom: 1px solid #707070;
}

/*
  Lista numerowana
*/

.note p + ul,
.note p + ol {
  margin-top: -20px;
}

.note ol {
  padding: 0 0 0 40px;
  margin-bottom: 20px;
}

.note ol li {
  position: relative;
}

.note ol li::before {
  position: absolute;
  left: -15px;
}

/*
*/

.icon-triangle {
  letter-spacing: 0;
  font-size: 8px;
  opacity: 0.8;
}

@media (min-width: 768px) {
  .icon-triangle {
    font-size: 12px;
  }
}

.icon-arrow-black {
  letter-spacing: 0;
  font-size: 12px;
  opacity: 0.8;
}

@media (min-width: 768px) {
  .icon-arrow-black {
    font-size: 20px;
  }
}

.icon-arrow-down {
  letter-spacing: 0;
  font-size: 12px;
  opacity: 0.8;
}

@media (min-width: 768px) {
  .icon-arrow-down {
    font-size: 20px;
  }
}

/*
  Herling-Grudziński
*/

body[class^="article_section projekty-rok-gustawa-herlinga-grudzinskiego-2019"] .note img {
  -webkit-user-select: none;
  -webkit-touch-callout: none
}

/*
  focus
*/

body.using-keyboard :focus {
	outline: #000 dashed 2px;
	outline-offset: 5px;
	text-decoration: none;
}

.using-keyboard #info :focus {
	outline-color: #fff;
}

.using-keyboard header button.navbar-toggle {
	outline-offset: -2px;
}

.using-keyboard header.drop-down + #wrapper,
.using-keyboard header.drop-down ~ footer {
	display: none;
}

.using-keyboard #opening-hours .address a:focus {
	outline: none;
}

.using-keyboard #opening-hours .address a:focus span {
	outline: #000 dashed 2px;
	outline-offset: 5px;
}

.using-keyboard #main-search button,
.using-keyboard #main-search input[type="text"] {
	outline-offset: 0;
}

.using-keyboard #main-search input[type="radio"]:focus + .custom-control-label::before {
	outline: #000 dashed 2px;
	outline-offset: 2px;
}

.using-keyboard .bn-collapse .heading a:focus {
	outline: #000 dashed 2px;
}

.using-keyboard .slick-slide a:focus {
	outline: none;
}

.using-keyboard .slick-slide a:focus img {
	outline: #000 dashed 2px;
	outline-offset: -2px;
}

.using-keyboard #blog .wrapper a:focus {
	width: 100%;
	display: inline-block;
}

.using-keyboard #job :focus {
	outline-offset: 2px;
}

.content-wrapper .gallery a:focus {
	display: inline-block;
	vertical-align: top;
}
