.patterned-gradient-bg {
  background-image:
    linear-gradient(135deg, #f0f9ff, #fff7f0),
    url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23cccccc' fill-opacity='0.2' /%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: cover;
}

[data-theme="dark"] {
	.patterned-gradient-bg {
		background-image:
		linear-gradient(135deg, #1a1a1a, #2a2a2a),
		url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23ffffff' fill-opacity='0.05' /%3E%3C/svg%3E");
		background-repeat: repeat;
		background-size: cover;
	}
	
	.dark-mode img.screenshot {
	  display: block;
	  max-width: 100%;
	  height: auto;
	  border: 1px solid rgba(255, 255, 255, 0.08); /* subtle light border */
	  border-radius: 8px;
	  box-shadow:
		0 1px 2px rgba(255, 255, 255, 0.04),
		0 4px 12px rgba(255, 255, 255, 0.08); /* soft glow effect */
	  background-color: #1e1e1e; /* dark neutral backdrop */
	  padding: 12px;
	  transition: box-shadow 0.3s ease, transform 0.3s ease;
	}

	img.screenshot:hover {
	  box-shadow:
		0 2px 4px rgba(255, 255, 255, 0.06),
		0 6px 16px rgba(255, 255, 255, 0.12);
	  transform: translateY(-2px);
	}
	
	.bookmark-link {
		background-image: url(/static/images/icons/64/dark/chevron-right.png);
	}
	
	.bookmark-link.back-to-top {
		background-image: url(/static/images/icons/64/dark/expand-less.png);
	}
}


.hero-container {
	padding: 70px 10px;
}

.hero-container .content-panes {
	display:flex; 
	gap: 100px; 
	flex-wrap: wrap; 
	align-items: flex-start;
}

.hero-container .content-panes > div:first-child {
	flex: 1 1 480px;
}

.hero-container .content-panes > div:last-child {
	min-width: 320px;
}

.hero-container img {
	width: 100%;
	height: auto;
}

.hero-container h1 {
	margin-bottom: 50px; 
	padding: 0 0px; 
	font-size: 52px; 
	text-align: left;
}

.hero-container h2 {
	font-family: var(--default-label-font); 
	background-color: transparent; 
	margin-bottom: 40px; 
	font-weight: normal;
}

.hero-container h3 {
	margin-bottom: 80px; 
	padding: 0 0px; 
	text-align: center; 
	font-size: 22px; 
	font-weight: normal; 
	text-align: justify;
}

.hero-list {
	
}

.hero-list-container img {
	margin-bottom: 15px;
}

.hero-list-container {
	margin-top: 20px;
	flex: 1 1 200px; 
	background-color: var(--default-background-color); 
	border: 1px solid  var(--default-border-color); 
	border-radius: 8px;
	padding: 40px 20px;
}

.hero-list-container h3 {
	text-align: left;
	margin-top: 0px;
	margin-bottom: 20px;
	text-transform: uppercase;
	padding-left: 64px;
	color: #AA0000;
	font-weight: bold;
}

.hero-list li {
	padding-left: 4rem; 
	background-color: transparent;
	background-position: 5px 5px !important;
	margin-bottom: 20px;
	min-height: 54px;
	border: none !important;
	padding-left: 64px !important;
	background-size: 40px 40px !important;
	background-image: url(/static/images/icons/96/application.png) !important;
	position: relative;
	user-select: text;
}

.hero-list li > span {
	font-size: 17px;
	display: block;
	white-space: normal;
  word-wrap: break-word;
}

.hero-list li > span:first-child {
	font-size: 20px;
	font-weight: bold;
	font-family: var(--default-label-font);
	margin-bottom: 12px;
}

.hero-list li.application {
	background-image: url(/static/images/icons/96/application.png) !important;
}

.hero-list li.user-group {
	background-image: url(/static/images/icons/96/user-group.png) !important;
}

.hero-list li.database {
	background-image: url(/static/images/icons/96/database.png) !important;
}

.hero-list li.deployment {
	background-image: url(/static/images/icons/96/deployment.png) !important;
}

.hero-list li.source-code {
	background-image: url(/static/images/icons/96/source-code.png) !important;
}

img.screenshot {
  display: block;
  max-width: 100%;
  height: auto;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.04),
    0 4px 12px rgba(0, 0, 0, 0.08);
  background-color: #fff;
  padding: 12px;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

img.screenshot:hover {
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.06),
    0 6px 16px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

.bookmark-link {
  text-decoration: none;
  width: 24px;
  height: 24px;
  background-image: url(/static/images/icons/64/light/chevron-right.png);
  background-repeat: no-repeat;
  background-size: 24px 24px;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  margin-left: 8px; /* spacing from text */
}

.bookmark-link:hover {
}

.bookmark-link.back-to-top {
	background-image: url(/static/images/icons/64/light/expand-less.png);
	padding-left: 36px;
}

/*
960px and less screen widths
*/

@media screen and (max-width: 960px) {
	.hero-container {
		padding: 70px 10px;
	}
	
	.hero-container .content-panes {
		gap: 40px;
	}
}