html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main, summary, time, mark, audio, video {
  font-size: 100%;
}

html {
	margin: 0;
	padding: 0;	
	height: 100%;
  width: 100%;
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
  font-size: 1.125rem;
  line-height: 2.0rem;
  font-family: Helvetica, Arial, sans-serif;
	font-weight: 400;
  font-style: normal;    
  background-color: #1b1b1b;
  color: #eee;
  height: 100%;  
  padding: 0;
  margin: 0;
}

a, a:visited {
  color: #ccc;
  font-weight: bold;
  text-decoration: none;
}

IMG {border: none;}

h1 {
  font-size: var(--size-900);
  font-family: Garamond, serif;
  margin:0;
  padding: 0;
}

h2 {
  font-size: var(--size-800);
  font-family: Garamond, serif;
  margin: 0;
  padding: 1rem 0;
}

header {
  display: flex;
  flex-wrap: wrap;  
  align-items: center;
}

header h1 {
  padding: 1rem 0;
}


nav {
  border-left: 1px solid #ccc;
  margin: 0.75rem 0 0.75rem 1rem;
  padding: 1.60rem 1.00rem;
  font-size: 1.25rem;
}
nav ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;  
  padding: 0;
  margin: 0;
}

nav li {
  margin: .15rem .5rem;
}

#nav-icon {
  font-size: 2em;
}

#small-menu {
/*    transition: opacity 1s ease-out; */
/*    transition: height 300ms; */
    transition: max-height 0.3s ease;
    max-height: 0;
    opacity: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    clear: both;
}

#small-menu.active {
    opacity: 1;
    display:block;
    max-height: 500px;
    margin-bottom: 1rem;
}

#small-menu li {
    border: 1px solid #666;
    border-left: 0;
    border-right: 0;
    padding: 0.5em;
    margin: 0 0 -1px;

}

#container {
  width: clamp(16rem,93vw,75rem);
  min-height: 100%;
  margin: 0 auto;
  padding: 0;
  text-align:left;  
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

#container header {
  flex-shrink: 0;
}

#container main {
  flex-shrink: 0;
  flex-grow: 1;
  display: flex;
}

#container footer {
  flex-shrink: 0;
}

article {
  width: 100%;
  padding-right: 0.5rem;
}

#form-www {
  display: none;
}
#form-form, #form-end-message {
  padding-bottom: 1rem;
}
#form-form label {
  padding-top: 1rem;
  display: block;
}

.forminput {
  padding: 0.8rem;
  font-size: 1rem;
  color: #eee;
  border: 1px solid #777;
  background-color: #444;
  width: 100%;
  max-width: 32rem;
}

.forminput[type=submit] {
  background-color: #777;

}
header h1 a, header nav a {
  text-shadow: 2px 2px 4px #222;
  background-image: linear-gradient(to right, #a8ff78 0%, #78ffd6 100%);
  background-repeat: no-repeat;
  background-size: 0% 0.15em;
  background-position: 0% 110%;
  transition: all 0.5s;
}
header h1 a:hover, header nav a:hover {
  background-image: linear-gradient(to right, #a8ff78 0%, #78ffd6 100%);
  background-repeat: no-repeat;
  background-size: 100% 0.15em;
  background-position: 0% 110%;
  transition: background-size 0.25s ease-in;
}

article.realizacjeitem {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 1rem;
  margin-bottom: 0.75rem;
  padding: 0.25rem 0;
}

article.realizacjeitem div {
  max-width: clamp(20rem,50vw,60rem);
}

article.realizacjeitem h3 {
  margin-top: 0;
  text-transform: capitalize;
}

article.realizacjeitem:nth-child(odd) {
  background-color: #292929;
}

#lb-main {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #222;
  text-align: center;
}
.lb-body {
  margin: auto;
  width: fit-content;
}
.lb-image {
  padding-top: 1rem;
  padding-bottom: 0.5rem;
  max-width: 100%;
  max-height: calc(100vh - 4rem);
}

.lb-title, .lb-caption {
  margin: 0;
  padding: 0;
} 
.lb-close {
  position: absolute;
  left: 1rem;
  top: 1rem;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.4);
  width: 2rem;
  height: 2rem;
  border-radius: 1rem;
  font-size: 1.33rem;
}

@media (max-width:799px) { 
  article.realizacjeitem div {
    max-width: 100%;
  }  
  header {justify-content: space-between;}
  header nav#menu {display: none;}
  header nav#small-nav {display: block; border:none;}  
  header ul#small-menu { flex: 1 100%; }
  .lb-image { padding-top: 4rem; }
}

@media (min-width:800px) {
  article.realizacjeitem div {
    max-width: clamp(20rem,50vw,60rem);
  }  
  header nav#menu {display: block;}
  header nav#small-nav {display: none;}  
}

:root {
  --size-300: clamp(0.7rem, 0.66rem + 0.2vw, 0.8rem);
  --size-400: clamp(0.88rem, 0.83rem + 0.24vw, 1rem);
  --size-500: clamp(1.09rem, 1rem + 0.47vw, 1.33rem);
  --size-600: clamp(1.37rem, 1.21rem + 0.8vw, 1.78rem);
  --size-700: clamp(1.71rem, 1.45rem + 1.29vw, 2.37rem);
  --size-800: clamp(2.14rem, 1.74rem + 1.99vw, 3.16rem);
  --size-900: clamp(2.67rem, 2.07rem + 3vw, 4.21rem);
  --size-1000: clamp(3.34rem, 2.45rem + 4.43vw, 5.61rem);
};
