* { padding: 0; margin: 0}

body {
	color: #000;
	/*background: #d6d6d6 url("images/bg_body.gif");
	background-repeat: repeat-x;
	background: #aaa;*/
	background-color: #fff;
	font-size: 1.0em;
	line-height: 1.75em;
	font-family : 'Roboto', 'Segoe UI', Sans-serif, Arial;
	min-width: 275px;
	font-weight: 300;
}

strong {
	font-weight: 600;
}

i, b, u, sup, sub {
	margin: 0 !important;
}

#upper-section, #lower-section  {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	margin: 0;
    padding: 0;
	min-width: 275px;	
	overflow-x: hidden;
}

.data-container-set-margins {
	width: 100%; 
	margin: 20px 0 !important;
}

#front {
	background-color: #FFF;
	/*border: 1px solid #aaa;*/
	text-align: left;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

.no-text-decoration {
	text-decoration: none !important;
}

#lang {
	padding: 0px 10px;
	display: flex;
	align-items: center;
	height: 100%;
	z-index: 2;
	justify-content: center;
}

#lang img {
   	vertical-align: middle;
	height: 15px;
	border: 1px solid #aaa; 
	border-radius: 3px;
}

#lang a, #lang a:visited {
   font-size: 18px;
   line-height: 40px;
   color: black;
   text-decoration: none;
   font-weight: bold;
}

#header {
	width: 100%;
	height: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

#header img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(60%) saturate(150%);
}

#header h1{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	text-shadow: #000 0px 0px 3px;
	text-align: center;
	font-size: 3em;
	padding: 5px 10px;
	line-height: 1.1em;
}

#flash {
	float: right;
	vertical-align: bottom;
}

#topmenu {
	clear: both;
	width: 100%;
	max-width: 1010px;
	height: 75px;
	background-color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;	
	position: static;
	margin: 0;
}

#logo {
	border-width: 0px;
	max-height: 50px;
	object-fit: contain;
}

#logo-mobile{
	display: none;
	border-width: 0px;
	max-height: 40px;
	object-fit: contain;
	margin: 0;
	z-index: 2;
}

#nav-button {
	display: none;
	height: 100%;
	text-align: left;
	background-color: white;
	border: 0;
	font-size: 18px;
	padding: 5px;
	min-height: 40px;
	z-index: 2;
}

#nav-mobile{
	display: none;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	text-align: left;
	width: auto;
	font-size: 16px;
	grid-column: 1/-1;
	position: fixed;
	top: 70px;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: 1;
	animation: FadeIn .25s linear;
}

@keyframes FadeIn {
	0% {
	  opacity: 0;
	}
	100% {
	  opacity: 1;
	}
  }
  

#nav {
	text-align: center;
	height: 100%;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	font-size: 18px;
}

#nav a {
	color: black;
	text-decoration: none;
	align-self: center;
	padding: 10px 15px;
	border-radius: 5px;
	display: flex;
    align-items: center;
    justify-content: center;
	line-height: 1em;
}

#nav-mobile a {
	color: black;
	text-decoration: none;
	align-self: left;
	padding: 5px 0 5px 30px;
	border-top: 1px solid #aaa;
	font-size: 1.2em;	
	width: 100%;
}

#nav-mobile a:last-of-type{
	border-bottom: 1px solid #aaa;
}

#nav a:hover, #nav-mobile a:hover {
	background-color: #0066cc86;
	color: white !important;
}

#nav a.active{
	color: #06c;
	font-weight: bold;
	text-decoration: underline;
}

#nav-mobile a.active{
	color: #06c;
	font-weight: bold;
	text-decoration: none;
}

#content {
	display: flex;
	flex-direction: column;
	background-color: #fff;
	width: 100%;
	max-width: 1010px;
	margin-top: 20px;
}

#content *{
	margin: 0 10px;
}

#content h1 {
	color: #0066cc;
	font-weight: bold;
	font-family: 'Segoe UI';
	font-size: 2.25em;
	line-height: 1.20em;
	margin-top: 50px;
	margin-bottom: 25px;
	text-align: center;
}

#content h2 {
	font-family:  'Segoe UI';
	font-size: 1.5em;
	margin: 10px 0px 15px 0px;
	/*padding-bottom: 2px;
	border-bottom: 1px solid rgba(0,0,0,0.25);*/
	font-weight: normal;
}

#content h3 {
  	font-family: 'Segoe UI';
	font-size: 1.2em;
	margin: 20px 0px 10px 30px;
	font-weight: 600; 
}

#content .title-container{
	margin-bottom: 10px;
	width: 100%;
	padding-bottom: 20px;
	border-bottom: 1px solid #aaa;
}
#content .title-h1 {
	color: #0066cc;
	font-weight: bold;
	font-family: 'Segoe UI';
	font-size: 2.25em;
	line-height: 1.20em;
	margin-top: 15px !important;
	margin-bottom: 10px !important;
	text-align: center;
}
#content .title-h2 {
	color: #0066cc;
	font-weight: bold;
	font-family: 'Segoe UI';
	font-size: 1.5em;
	margin-top: 10px !important;
	margin-bottom: 5px !important;
	text-align: center;
}
#content .title-h3 {
	color: black;
	font-family: 'Segoe UI';
	font-size: 1.4em;
	margin-top: 25px !important;
	margin-bottom: 5px !important;
	text-align: center;
}

#content p {
	line-height: 1.6em;
	text-align: justify;
}

#content ul {
	padding-left: 1em; 
}

#content li {
	line-height: 2.0em;
}

#content a {
	color: #638afd;
	text-decoration: underline;
}

#content a:visited {
	color: #666;
}

#content hr {
	width: 40%;
	height: 1px;
	color: #aaa;
	clear: both;
}

#content img {
	margin: 10px;
	border: 0;
}

.start-hidden { display: none;}

#footer-upper{
	width: 100%;
	display: flex;
	flex-direction: row;
	background-color: #0066cc;
	color: #fff;
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 25px 0;
}

#footer-upper *, #footer-lower *{
	color: #fff;
	text-decoration: none;
}

#footer-lower{
	width: 100%;
	background-color: #0055aa;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 50px;
}

.footer-content-wrapper{
	width: 100%;
	max-width: 1010px;
}

#footer-upper .footer-content-wrapper {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}

#footer-lower .footer-content-wrapper a{
	text-align: center;
	font-size: 0.8em;
	width: 100%;
	display: block;
}

.footer-logo-pwr {
	height: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: row;
	margin-left: 10px;
}

.footer-logo-pwr img{
	height: 60px;
}

.footer-contact-info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	font-size: .9em;
	gap: 0;
	line-height: 1.5em;
	margin-right: 10px;
}

.formbutton {
	padding: 5px;
}

a.fancy img {
	opacity: 0.85;
}

a.fancy:hover img {
	opacity: 1.0;
}

#contacts {
	display: grid;
	grid-template-columns: 40px auto;
	gap: 15px;
	margin-top: 10px;
}

#socials {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	align-items: center;
}

#socials img{
	width: 40px;
	opacity: 0.5;
}

#socials img:hover {
	opacity: 1.0;
}

#footer-socials {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
	gap: 10px;
}

#footer-socials img{
	width: 25px;
	filter: invert(1);
	padding: 0;
}

#footer-socials img:hover{
	filter: invert(0) opacity(.5);
}


#content .list-double-columns{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 10px;
	justify-content: center;
}

#content .list-centered{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}

#content .abstrakt{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 15px;
	line-height: 1.8em;
	border-radius: 10px;
	box-shadow: #ccc 0px 0px 10px;
}

#content .abstrakt p{
	margin: 0 0 5px 0;
	line-height: 1.2em;
	text-align: center;
	font-style: italic;
}

#content .abstrakt-tytul{
	margin: 0 0 10px 0 !important;
}

#content .abstrakt-autor{
	margin: 0 0 10px 0 !important;
	font-style: normal !important;
}

#content .abstrakt-keywords{
	margin: 10px 0 0 0 !important;
	font-style: normal !important;
}

#content .list-abstrakt{
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: 25px;
}

#content .topics-container{
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	justify-content: center;
	align-items: stretch;
	gap: 20px;
	margin-top: 10px;
	margin-bottom: 20px;
}

#content .topics-container div{
	text-align: center;
	align-content: center;
	padding: 15px;
	border-radius: 10px;
	box-shadow: #ccc 0px 0px 10px;
	font-weight: 400;
	margin: 0;
}

@media screen and (max-width: 1010px) {

	#flash {
		display: none;
	}

	#news {
		float: top;
		width: 100%;
	}

	#body {
		margin: 0;
	}

	
	#nav {
		font-size: 16px;
	}
	
	#nav a {
		padding: 10px 10px;
	}

	#header {
		justify-content: center;
	}

	.footer-content-wrapper{
		width: 100%;
	}

}

@media screen and (max-width: 850px) {
	
	#header{
		height: 200px;
	}

	#header h1{
		font-size: 1.8em;
		padding: 0 10px;
	}
		
	#content h1{
		font-size: 1.75em;
		margin-top: 25px;
	}

	#content h2 {
		font-size: 1.25em;
	}

	#content .title-h1 {
		font-size: 1.75em;
	}

	#content .title-h2 {
		font-size: 1.25em;
	}
	
	#content h3 {
		font-size: 1.1em;
	}

	#contacts {
		display: grid;
		grid-template-rows: 40px auto;
		grid-template-columns: 1fr;
		grid-gap: 15px;
	}

	#socials {
		display: flex;
		flex-direction: row;
		justify-content: space-around;
		align-items: center;
		grid-row: 1;
	}
	
	#socials img{
		width: 40px;
	}

	#footer-upper .footer-content-wrapper {
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		gap: 30px;
	}
	
	.footer-logo-pwr img{
		height: auto;
		width: 75%;
		max-width: 400px;
		min-width: 200px;
	}
	
	.footer-contact-info, .footer-logo-pwr {
		margin: 0 10px;
		align-items: center;
	  justify-content: center;
	}
	
	.footer-contact-info *{
		text-align: center;
	}
	
	.footer-content-wrapper{
		align-items: center;
	}
	
	#content .topics-container{
	 grid-template-columns: repeat(3, 1fr);
	}
	
}


@media screen and (max-width: 550px) {
	
	.committee-columns{
		grid-template-columns: 1fr;
	}
	
	#content h1, #content h2, #content h3 {
		text-align: center;
	}

	#flash {
		display: none;
	}
	
	#nav-button {
		display: block;
		padding: 5px 10px;
		font-size: 2em;
		line-height: 0;
		margin-left: 5px;
	}

	#logo-mobile {
		display: block;
		grid-column: 2;
		align-self: center;
		justify-self: center;
	}

	#lang {
		grid-column: 3;
		margin: 0;
		padding: 0 5px;
		margin-right: 5px;
	}

	#nav {
		display: none;
	}

	#nav a{
		padding: 0px 10px 0px 10px;
		border: 0 !important;
	}
	
	#topmenu{
		display: grid;
		grid-template-columns: auto 1fr auto;
		align-items: flex-start;
		z-index: 1;
		position: fixed;
		top: 0;
		bottom: 0;
		z-index: 2;
		background-color: #fff;
		height: 70px;
	}
	
	#header {
		justify-content: center;
		/*! height: 150px; */
	}

	#logo {
		padding: 10px 0 10px 0;
	}

	#lower-section {
		position: absolute;
		top: 70px;
		left: 0;
	}

	#upper-section {
		position: absolute;
		top: 0;
		left: 0;
	}

	#topmenu{
		position: fixed;
		top: 0;
		left: 0;
		box-shadow: #ccc 0px 0px 10px;
		grid-template-columns: 45px 1fr 45px;
	}
	
	#content .topics-container{
	 grid-template-columns: repeat(2, 1fr);
	}
	
	#content .list-double-columns{
	grid-template-columns: 1fr;
}
	#content .list-double-columns *{
		text-align: center;
	}

}