/* CSS Document */
html, body {
	margin: 0;
	padding: 0;
	scroll-behavior: smooth;
}


/*
p {
	font-size:36px;	
}
*/

section {
	height: 100vh;
	padding-bottom: 60px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
	text-align: center;
}

.down-arrow {
	position: absolute;
	bottom: 80px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 36px;
	color: #ccc;
	cursor: pointer;
	transition: opacity 0.4s ease, transform 0.3s ease;
}

.down-arrow i {
	/*font-size:72px;*/
}

.down-arrow:hover {
	transform: translateX(-50%) translateY(5px);
}

.down-arrow.hidden {
	opacity: 0;
	pointer-events: none;
}

.navbar {
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.navbar.scrolled {
	background-color: #212832 !important;
	/*box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);*/
}
.navbar-brand {
	font-weight: bold;
}

.nav-link {
  font-size: 1.2rem;             
  color: #fff !important;
  transition: color 0.3s ease; 
}

.nav-link:hover {
  color: #ccc !important;
}

.nav-link:active {
	color: #93E8C9 !important;
}

.nav-link:focus {
  color: #93E8C9 !important;
}

.navbar-toggler {
	/*border-color: rgba(255, 255, 255, 0.5);*/
	/*justify-content: flex-end !important;*/
}

/*.navbar-collapse {
	justify-content: flex-end !important;
}*/
 
.navbar-toggler-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

#navbarNav{
	text-align: right;
}

#intro{
	background: -webkit-linear-gradient(top left, #042573, #352479);
	background: -o-linear-gradient(top left, #042573, #352479);
	background: linear-gradient(to bottom right, #042573, #352479);
	color: #fff;
}

#problem{
	background-color: #212832 !important;
	color: #fff;
}

#solution{
	background-color: #f1f1f1 !important;
	color: #fff;
}

.hero-left, .hero-right {
 	flex: 1;
 	padding: 2rem;
	text-align: center;
 }

.hero-left {
	/*
	background-image: url('../img/middleware_2.png');
    background-size: contain;
	background-repeat: no-repeat;
    background-position: center center;*/
    height: 100vh;
    width: 100%;
}

 .hero-content {
	border: 0px solid blue;
	flex: 1;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}

.canvas-container {
  position: relative;
  width: 100%;
  height: 100%;
}

canvas {
  display: block;
  width: 100%;
  height: 100%;
}

.overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 2;
  pointer-events: none;
}

.overlay h1, .overlay p {
  margin: 0.2em 0;
  color: white;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}

/* support small screens*/

@media (max-width: 1024px) {
	.navbar {
		/*background-color: #212832 !important;*/
		/*box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);*/
	}
}

@media (max-width: 768px) {
	
	.navbar {
		/*background-color: #212832 !important;*/
		/*box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);*/
	}
	
	.hero-content {
		flex-direction: column;
    }
	
	.hero-left, .hero-right {
		width: 100%;
	}
}

@media (min-width: 1920px) {
  .hero-left {
    background-size: 120%;
  }
}

/* Ultra-wide / 4K screens */
@media (min-width: 2560px) {
  .hero-left {
    background-size: 150%; /* or use cover if you want full fill */
	  background-position: center center;
  }
}