/* Reset default styles */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;800&display=swap');
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: 'Montserrat', sans-serif;
}
html {
	height: 100%;
}

body {
	min-height: 100%;
	position: relative;
}
body {
	display: flex;
	flex-direction: column;
}
article {
	flex: 1;
}
article .dateplace {
	font-weight: bold;
	color: #617a55;
	text-align: center;
}
article .paragraph {
	margin-top: 20px;
}
article section h2 {
	margin: 0;
}
#footer {
}
h1,
h2,
h3,
h4,
h5,
h6 {
	color: #2c3333;
	font-weight: 800;
}
/* Global styles */
body {
	font-family: Arial, sans-serif;
	line-height: 1.6;
	color: #052629;
	background-color: #fafafa;
	font-weight: 400;
}

.container {
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
	padding: 20px;
}

/* Header */
header {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	background-color: rgb(157, 192, 139);
	color: #fafafa;
	text-align: center;
	padding: 20px;
	min-height: 150px;
}

header h1 {
	font-size: 26px;
	color: #fafafa;
	text-transform: uppercase;
}
header img {
	margin: 0 10px;
	width: auto;
	height: 60px;
}
/* Navigation */
nav ul {
	list-style: none;
	background-color: #617a55;
	text-align: center;
}

nav ul li {
	display: inline-block;
	margin-right: 10px;
	padding: 10px;
}

nav ul li a {
	color: #fafafa;
	text-decoration: none;
	padding: 10px;
	transition: background-color 0.3s ease;
	font-size: 18px;
	font-weight: 600;
}

nav ul li a:hover {
	background-color: rgb(157, 192, 139);
	color: #fff;
}

/* Main Sections */
#about p {
	text-align: justify;
}
section {
	padding: 20px;
	margin-bottom: 20px;
	background-color: #fff;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

section h2 {
	font-size: 28px;
	margin-bottom: 10px;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-align: center;
}

section p {
	margin-bottom: 0;
}

/* Speakers */
#partners {
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
}

#partners img {
	max-width: 300px;
	width: 100%;
	height: auto;
}

#partners h3 {
	font-size: 18px;
	margin-bottom: 5px;
	text-transform: capitalize;
}
#partners a:hover {
	opacity: 0.75;
}
#partners .partners_logos {
	display: flex;
	flex-direction: row;
}
.funding {
	text-align: center;
}
/* Schedule */
#schedule h2 {
	margin-bottom: 0;
	line-height: 1;
}
#schedule .schedesc {
	text-align: center;
	margin-bottom: 20px;
}
.tableflow {
	width: 100%;
	overflow-x: auto;
}
.tableflow a {
	color: #617a55;
}
.tableflow a:hover {
	opacity: 0.85;
}
table {
	width: 100%;
	min-width: 900px;
	border-collapse: collapse;
	overflow-x: auto;
}
table th {
	border: 2px solid #617a55;
	background-color: #617a55;
	color: #fafafa;
	font-weight: bold;
	text-align: center;
	padding: 10px;
}
table td {
	border: 2px solid #617a55;
	padding: 10px;
	text-align: left;
}
table tr.upcoming td {
	background-color: #617a5525;
	font-weight: bold;
}
table tr.done td {
	background-color: #00000025;
	font-weight: bold;
	opacity:0.75
}
table td b {
	color: #617a55;
}

/* Registration Form */
form {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	max-width: 400px;
	margin: 0 auto;
}

form label {
	font-weight: bold;
}

form input[type='text'],
form input[type='email'],
form input[type='submit'] {
	padding: 10px;
	width: 100%;
}

form input[type='submit'] {
	background-color: #333;
	color: #fff;
	border: none;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

form input[type='submit']:hover {
	background-color: #555;
}

/* Contact Section */
#contact {
	margin-bottom: 0;
}
#contact p {
	margin-bottom: 10px;
	text-align: center;
}
#contact p.bolded {
	font-weight: 600;
	margin: 0;
}
#reports p.repsc {
	text-align: center;
	margin-bottom: 20px;
}
#reports h2 {
	margin-bottom: 0;
	line-height: 1;
}
#reports .news_block {
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
}
#reports .news_block .news {
	display: flex;
	flex-direction: column;

	border: 2px solid #617a55;
}
#reports .news_block .news a {
	text-decoration: none;
	padding: 20px 10px;
}
#reports .news_block .news:hover {
	background-color: rgba(157, 192, 139, 0.1);
}
#reports .news_block .news p {
	color: #052629;
}
/* Footer */
footer {
	background-color: #617a55;
	color: #fff;
	text-align: center;
	padding: 10px;
}
footer p {
	font-size: 14px;
}

/* Responsive Styles */

@media (max-width: 768px) {
	header {
		flex-direction: column;
	}
	header h1 {
		font-size: 24px;
	}

	nav ul li a {
		padding: 10px;
	}

	section {
		margin: 0;
		box-shadow: none;
	}
	.partners_logos {
		flex-direction: column;
	}

	form {
		max-width: none;
	}
}

.circles {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.circles li {
	position: absolute;
	display: block;
	list-style: none;
	width: 20px;
	height: 20px;
	background: rgb(109, 134, 97);
	background: linear-gradient(
		90deg,
		rgba(109, 134, 97, 0.25) 41%,
		rgba(109, 134, 97, 0.1) 99%
	);
	animation: animate 25s linear infinite;
	bottom: -100px;
}

.circles li:nth-child(1) {
	left: 25%;
	width: 60px;
	height: 60px;
	animation-delay: 0s;
}

.circles li:nth-child(2) {
	left: 10%;
	width: 20px;
	height: 20px;
	animation-delay: 2s;
	animation-duration: 12s;
}

.circles li:nth-child(3) {
	left: 70%;
	width: 20px;
	height: 20px;
	animation-delay: 4s;
}

.circles li:nth-child(4) {
	left: 40%;
	width: 40px;
	height: 40px;
	animation-delay: 0s;
	animation-duration: 18s;
}

.circles li:nth-child(5) {
	left: 65%;
	width: 20px;
	height: 20px;
	animation-delay: 0s;
}

.circles li:nth-child(6) {
	left: 75%;
	width: 80px;
	height: 80px;
	animation-delay: 3s;
}

.circles li:nth-child(7) {
	left: 35%;
	width: 100px;
	height: 100px;
	animation-delay: 7s;
}

.circles li:nth-child(8) {
	left: 50%;
	width: 25px;
	height: 25px;
	animation-delay: 15s;
	animation-duration: 45s;
}

.circles li:nth-child(9) {
	left: 20%;
	width: 15px;
	height: 15px;
	animation-delay: 2s;
	animation-duration: 35s;
}

.circles li:nth-child(10) {
	left: 85%;
	width: 110px;
	height: 110px;
	animation-delay: 0s;
	animation-duration: 11s;
}
.pdf-block{
	padding-top: 20px;
	padding-bottom: 20px;
}
.pdf-ico{
	position: relative;
	padding-left: 25px;
	font-weight: bold;
}
.pdf-ico:before{
	content: "";
	display:flex;
	height:25px;
	width:25px;
	left: -5px;
	top:-2px;
	position: absolute;
	background-size: 25px 25px;
	background-image: url('./img/pdfico.svg');
	background-repeat: no-repeat;
}



 /* The grid: Four equal columns that floats next to each other */
 .galcol {
	
  }
  
  /* Style the images inside the grid */
  .galcol img {
	opacity: 0.8;
	max-width: 150px;
	height: auto;
	width: 100%;
	cursor: pointer;
  }
  
  .galcol img:hover {
	opacity: 1;
  }
  .galrow{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	flex-wrap: wrap;
  }
  /* Clear floats after the columns */
  .galrow:after {
	content: "";
	display: table;
	clear: both;
  }
  
  /* The expanding image container (positioning is needed to position the close button and the text) */
  .galcont {
	position: fixed;
	top:0;
	left:0;
	z-index: 10;
	justify-content: center;
	align-items: center;
	background-color: #00000098;
	display: none;
	width:100vw;
	height: 100vh;

  }
  .img-gal{
	max-width: 900px;
	width:100%;
  }
  .galcont img{
	
  }
  .gallery_photos{

  }
  /* Expanding image text */
  #imgtext {
	position: absolute;
	bottom: 15px;
	left: 15px;
	color: white;
	font-size: 20px;
  }
  
  /* Closable button inside the image */
  .closebtn {
	position: absolute;
	top: 10px;
	right: 15px;
	color: white;
	font-size: 35px;
	cursor: pointer;
  } 


@keyframes animate {
	0% {
		transform: translateY(0) rotate(0deg);
		opacity: 1;
		border-radius: 50%;
	}

	100% {
		transform: translateY(-1000px) rotate(720deg);
		opacity: 0;
		border-radius: 50%;
	}
}
