@import url("bootstrap-reboot.min.css");
@import url("bootstrap-grid.min.css");

/* * { outline: 1px solid red; } */

html {
	font-family: 'Roboto', sans-serif;
	line-height: 1.6;
	font-weight: 400;
	font-size: 16px;
	color: #333333;
}

body.noscroll {
	overflow: hidden;
}

img { max-width: 100%; }

section { 
	padding: 80px 0px;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Dosis', sans-serif;
	line-height: 1.2;
	margin-bottom: 15px;
	color: #022249;
}

h1, h2, h3 { font-weight: 700; }

h1 { font-size: 50px; }
h2 { font-size: 40px; }
h3 { font-size: 32px; }
h4 { font-size: 28px; }
h5 { font-size: 22px; }
h6 { font-size: 18px; }

p {
	display: block; 
	margin-bottom: 25px;
}

canvas#demoCanvas {
	position: relative;
	background: transparent url(../images/interactive-arrows.png) no-repeat bottom center;
	background-size: 75%;
	display: block;
	margin: auto;
}

canvas#demoCanvas:focus {
	outline: none;
}

#demo-block { 
	overflow: hidden;
}

.text-white, .text-light { color: #ffffff; }
.text-blue { color: #022249; }
.text-green { color: #B3BA40; }
.text-dark { color: #333333; }
.text-center { text-align: center; }
.bg-gray { background-color: #F5F5F5; }
.bg-white { background-color: #ffffff; }

header {
	background-color: #001937;
	padding:40px 0px;
	background-image: url(../images/banner-texture.jpg); 
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	color: #ffffff;
}

header h1 { 
	font-weight: 400; 
	font-size: 40px;
}

header p { 
	opacity: 0.85; 
	font-size: 22px; 
}

#banner-dh-logo {
	margin-bottom: 60px;
}

#ipd-gallery-section {
	background-color: #2B2C21;
	color: #ffffff;
}

.ipd-gallery-card-wrap {
	display: flex;
	flex-wrap: wrap; 
	gap: 30px; 
	justify-content: center;
}

.gallery-card {
	color: #ffffff;
	/* text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); */
	width: 450px; 
	max-width: 100%;
	border-radius: 4px; 
	overflow: hidden; 
	position: relative;
	display: flex;
	flex-direction: column
}

.gallery-card-inner {
	padding: 30px 30px 80px 30px;
	flex-grow: 1;
}

.gallery-card-description {
	margin-bottom: 0px;
}

.gallery-card .ipd-thumbnail {
	object-fit: cover; 
	width: 100%;
	aspect-ratio: 5/3;
	object-position: center;
	flex-grow: 0; 
	flex-shrink: 0; 
}

.gallery-card-btn-wrap {
	width: 100%;
	text-align: center; 
	position: absolute; 
	bottom: 30px;
	left: 0px;
}

.gallery-card .gallery-launch-btn {
	background-color: #ffffff;
	font-size: 16px; 
	text-transform: uppercase;
	font-weight: bold;
	border-radius: 4px;
	padding: 4px 24px;
	text-align: center;
	color: #333333;
	outline: none; 
	border: none;
	transition: transform 0.14s ease-out;
}

.gallery-card .gallery-launch-btn:hover {
	transform: scale(1.08);
}

.gallery-card .gallery-card-inner {
	height: auto; 
	width: 100%;
	text-align: center;
}

.gallery-card-title {
	display: block; 
	font-weight: bold; 
	font-size: 20px;
	margin-bottom: 4px;
	text-transform: uppercase;
}

.gallery-card-description {
	font-size: 14px;
}

.data-blocks-wrap {
	display: flex; 
	flex-wrap: wrap; 
	gap: 30px; 
	justify-content: center;
	margin-bottom: 90px; 
}

.data-block {
	width: 250px;
	max-width: 100%;
	text-align: center;
	position: relative; 
	padding-bottom: 20px; 
}

.data-block .stat-num {
	color:#B3BA40; 
	font-weight: bold; 
	font-family: 'Dosis', sans-serif;
	font-size: 100px;
	display: block;
}

.data-block .stat-num sup {
	font-size: 60px;
}

.data-block .stat-text {
	font-weight: bold;
	font-size: 18px;
	display: block;
	margin-bottom: 20px; 
}

.data-block .stat-credit {
	font-weight: bold; 
	font-style: italic;
	color: #656565;
	position: absolute; 
	bottom: 0px; 
	left: 0px; 
	width: 100%;
	text-align: center;
}

.resources-wrap {
	display: flex; 
	justify-content: center; 
	flex-wrap: wrap; 
	gap: 60px; 
	margin-top: 60px;
}

.single-resource {
	width: 250px;
	text-align: center;
	position: relative; 
	padding-bottom: 40px;
}

.single-resource svg {
	margin-bottom: 10px;
}

.single-resource .resource-title {
	display: block;
	margin-bottom: 20px;
}

.single-resource .resource-btn {
	/* display: block;  */
	background-color: #B3BA40;
	border-radius: 4px;
	color: #121307;
	font-weight: bold; 
	text-transform: uppercase;
	padding: 8px 0px; 
	text-align: center;
	text-decoration: none;
	transition: background-color 0.14s ease-out;
	position: absolute;
	bottom: 0px; 
	left: 0px; 
	width: 100%;
}

.single-resource .resource-btn:hover {
	background-color: #a0a534;
}

#top-footer {
	background-color: #000;
	padding-top: 40px;
	padding-bottom: 40px;
}

#top-footer .location-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}

#top-footer .location-wrap h4 {
	width: 50%;
	font-size: 18px;
	font-weight: 400;
	color: #ccc;
	text-align: center;
	margin-top: 5px;
	margin-bottom: 5px;
}

#top-footer .location-wrap h4 span {
	color: #222;
}

#top-footer .location-wrap h4 span.teal {
	color: #027c97;
}

#top-footer .location-wrap h4 span.red {
	color: #bd3c24;
}

#top-footer .location-wrap h4 span.yellow {
	color: #feb715;
}

#top-footer .location-wrap h4 span.orange {
	color: #ed7334;
}

#top-footer .location-wrap h4 span.blue {
	color: #47c1e6;
}

p#footer-logo { text-align: center; }

#footer-logo img {
	width: 100%;
	max-width: 270px;
	margin: 0 auto;
	opacity: 0.6;
	transition: opacity 0.24s ease-in-out;
}

#footer-logo img:hover, #footer-logo img:active, #footer-logo img:focus, #footer-logo img:active:hover, #footer-logo img:active:focus {
	opacity: 1;
}

#bottom-footer {
	background-color: #000;
	padding-top: 20px;
	padding-bottom: 20px;
}

#bottom-footer p {
	font-size: 14px;
	color: #ccc;
	margin: 0;
}

ul#social-links {
	list-style-type: none;
	text-align: center;
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
}

ul#social-links li {
	display: inline-block;
	margin: 0;
	padding: 0 10px;
}

ul#social-links li a {
	font-size: 24px;
	color: #ccc;
	text-decoration: none;
	border: none;
	transition: color 0.24s ease-in-out;
}

ul#social-links li a:hover, ul#social-links li a:active, ul#social-links li a:focus, ul#social-links li a:active:hover, ul#social-links li a:active:focus {
	color: #fff;
}

#modal-wrap {
	position: fixed;
	top: 0; 
	left: 0; 
	right: 0; 
	bottom: 0;  
	width: 100%; 
	height: 100%;
	background-color: rgba(0,0,0,0.75); 
	align-items: center; 
	justify-content: center;
	z-index: 10000;
	display: none;
	backdrop-filter: blur(0px); 
	-webkit-backdrop-filter: blur(0px); 
	z-index: 10000;
	animation-name: fadeout;
  animation-duration: 0.14s;
	transition: backdrop-filter 0.24s ease-out;
}

#modal-wrap.active {
	display: flex;
	backdrop-filter: blur(8px); 
	-webkit-backdrop-filter: blur(8px); 
	animation-name: fadein;
  animation-duration: 0.14s
}

#modal-content {
	width:95%;
	height: auto;
	max-width: 1920px;
	aspect-ratio: 16/9;
	background-color: #ccc;
	box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.25);
	position: relative; 
	overflow: hidden;
}

button#close-modal-btn {
	position: absolute; 
	right: 25px; 
	top: 25px;
}

iframe#modal-iframe {
	width: 100%; 
	height: 100%;
	overflow: hidden;
}

.main-form-wrap {
	background-color: #FAFAFA;
	padding: 30px;
	box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.15);
	border-radius: 4px;
	width: 100%;
	max-width: 500px; 
	margin: 0 auto;
}

/* Basic Form Styles */ 
label:not(.hs-error-msg) { 
	position: absolute;
	left: -999px;
	top: -999px; 
}

input[type="text"], input[type="email"] {
	border: 1px solid #CCCCCC;
	display: block; 
	width: 100%;
	padding: 8px;
	color: #333333;
	margin: 15px 0px;
}

input[type="submit"] {
	padding: 8px 32px; 
	text-align: center; 
	margin: 10px auto;
	font-weight: bold; 
	border-radius: 4px; 
	text-transform: uppercase;
	background-color: #B3BA40;
	color: #121307;
	border: none; 
	outline: none;
	transition: background-color 0.14s ease-out;
}

input[type="submit"]:hover {
	background-color: #a0a534;
}

.main-form-wrap .hs-submit {
	text-align: center;
}

@keyframes fadein {
	from { opacity: 0 }
	to { opacity: 1 }
}

@media (min-width: 768px) {
	p#footer-logo { text-align: left; }
}

@media (min-width: 992px) {
	header #banner-text { padding-right: 60px; }

	#top-footer .location-wrap h4 { width: auto; }
}

@media (min-width: 1200px) {
	header { background-size: 1200px }

	header h1 { font-size: 50px; }

	#ipd-gallery-section .container { max-width: 100%; }
}

@media (min-width: 1600px) {
	#ipd-gallery-section .container { max-width: 1600px; }
}
