.cards-container .card-1:nth-child(1) .card-checklist li {
	padding-left: 2em;
	padding-right: 0;
	text-align: left;
}
.cards-container .card-1:nth-child(1) .card-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	right: auto;
	width: 1.3em;
	height: 1.3em;
	/*background-image: url('/static/img/check_mark.jpg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	display: inline-block;*/
}

.cards-container .card-1:nth-child(2) .card-checklist li {
	padding-left: 2em;
	padding-right: 0;
	text-align: left;
}
.cards-container .card-1:nth-child(2) .card-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	right: auto;
	width: 1.3em;
	height: 1.3em;
	/*background-image: url('/static/img/check_mark.jpg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	display: inline-block;*/
}
.card-1 {
	width: 90vw;
	max-width: 550px;
	min-width: 260px;
	min-height: 200px;
	height: auto;
	margin-right: 0;
	font-weight: normal;
	text-align: center;
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	border-radius: 2em;
}
/* Checklist styling for blue check marks in card-1 */
.card-1 .card-checklist {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: center;
}

.card-1 .card-checklist li {
	position: relative;
	padding-left: 2em;
	margin-bottom: 2em;
	font-size: 1.5em;
	font-family: karla;
	color: #43464B;
	font-size: 25px;
	line-height: 30px;
}

.card-1 .card-checklist li::before {
	/*content: "\2714";
	color: steelblue;
	font-weight: bold;
	position: absolute;
	left: 0;
	top: 0;
	font-size: 1.2em;
	line-height: 1;*/
}
/* Header and Navigation Styles for header_template.html */
header {
	width: 100%;
	background: #bfc1c2; /*#191f22;*/
	box-shadow: 0 2px 8px rgba(0,0,0,0.04);
	padding: 0;
	padding-top: 2em;
	padding-bottom: 2em;
	margin: 0;
	position: sticky;
	top: 0;

	z-index: 1000; /*100*/

	box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px;
}
nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0.5em 2vw;
}
.logo {
	/*font-family: Michroma, sans-serif; */
	font-size: 2rem;
	color: steelblue;
	margin: 0;
	letter-spacing: 2px;

	/*margin-top: 10px;
	margin-bottom: 10px;*/
	font-family: Michroma;
	color: #43464B;
	
	font-size: 50px;
	line-height: 24px;
	/*font-weight: 500;*/
	letter-spacing: 2px;
	/*text-transform: uppercase;*/
	text-align: center;
}
.logo a {
	/*color: steelblue;*/
	color: #43464B;
	color: #818181;
	color:#191f22;
	text-decoration: none;
}
nav ul {
	list-style: none;
	display: flex;
	gap: 2em;
	margin: 0;
	padding: 0;
}
nav ul li {
	display: inline-block;
}
nav ul li a {
	color:#191f22;
	font-size: 16px;
	font-family: karla, sans-serif;
	font-size: 1.1rem;
	text-decoration: none;
	padding: 0.5em 0.8em;
	border-radius: .5em;
	transition: background 0.2s, color 0.2s;
}
nav ul li a:hover, nav ul li a:focus {
	background: whitesmoke;
	color:#191f22;
}
@media (max-width: 700px) {
	nav {
		flex-direction: column;
		align-items: flex-start;
		padding: 0.5em 1vw;
	}
	.logo {
		font-size: 1.3rem;
		margin-bottom: 0.5em;
	}
	nav ul {
		gap: 1em;
	}
}
footer {
	background: #10181f;
	color: #f0f4f7;
	padding-top: 40px;
	padding-bottom: 40px;
	width: 100%;
}
/* Subtle embedded system background for main-section */
main.main-section {
	height: auto;
	padding: 20px; /* default is 20*/
	background: #e5e4e2; /* like this one */
	background: #bfc1c2;
	background-image: linear-gradient(180deg, white 0%, grey 90%);
	background: linear-gradient(180deg, white 0%, grey 0%, #e5e4e2 100%); /*18 degrees */
}
body{

	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	overflow: scroll;
	font-family: "Open Sans", sans-serif;
	line-height: 20px;
	margin: 0; 
	padding: 0;
	overflow-x: hidden;

	background: #e5e4e2;

}


@media screen and (min-width: 992px) {
	.w-container {
		max-width: 1200px;
	}
}

@media screen and (max-width: 991px){
	.w-container{
		max-width: 728px;
	}
}


@media screen and (max-width: 480px){
	.main-section{
		padding: 0px;
	}

	.container {
		margin-top: 5vh; /* default is 20vh*/
		color: whitesmoke;
		width: 95%; /* default is 90% */
	}

	.nexmac{
		padding-top: 300px; /*was 300px*/
		font-size: 1.2rem;
		line-height: 10px;
		letter-spacing: normal;
		text-align: center;
		color: #818181;
		color: steelblue;
		letter-spacing: 2px;
		font-family: Michroma;
	}

	.title {
		font-size: 2.5rem;
		line-height: 52px;
		letter-spacing: normal;
		text-align: center;
		color: #43464B;
		color: #191f22;
		font-family: Michroma;
		font-weight: 500;
		letter-spacing: 2px;
		font-size: 46px;
	}

	.container .newsletter {
		color: #43464B;
		letter-spacing: .1px;
		padding-bottom: 50px;
		font-size: 25px;
	}
	.newsletter{
		margin-top: 1rem;
		line-height: 52px;
		font-family: karla;
		font-size: 1.75rem;
		text-align: center;
	}

	.button {
		padding: 8px 24px;
		border-radius: 2em;
		background: #191f22;
		font-family: Rubik, sans-serif;
		color: white;
		line-height: 30px;
		font-weight: 500;
		letter-spacing: 1.5px;
		text-transform: uppercase;
		text-decoration: none;
		box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
	}

	.contact {
    margin: 2%; /* Further reduced margin for very small screens */
    padding: 15px; /* Further reduced padding for very small screens */
  }

  input[type=text], select, textarea {
    padding: 10px; /* Slightly reduced padding for very small screens */
    font-size: 14px; /* Slightly smaller font size for very small screens */
    margin-top: 6px; /* Adjusted margin for better spacing */
    margin-bottom: 12px; /* Adjusted margin for better spacing */
  }

  input[type=submit] {
    padding: 10px 15px; /* Adjusted padding for very small screens */
    font-size: 14px; /* Slightly smaller font size for very small screens */
  }
}



.nexmac{
	/*display: block;*/
	padding-top: 100px; /*was 300px*/
	font-size: 1.2rem;
	line-height: 10px;
	/*letter-spacing: normal;*/
	text-align: center;
	/*color: #818181;*/
	color: steelblue;
	letter-spacing: 2px;
	font-family: Michroma;
}
.title {
	/*display: block;*/
	font-size: 2.5rem;
	line-height: 52px;
	letter-spacing: normal;
	text-align: center;

	color: #43464B;
	color: #191f22;

	font-family: Michroma;
	font-weight: 500;
	letter-spacing: 2px;
	font-size: 46px;

	
}
h1 {
	margin-top: 50px;
	margin-bottom: 10px;
}

.container .newsletter {
	color: #43464B;
	/*color: #818181;*/
	letter-spacing: .1px;
	padding-bottom: 50px;
	font-size: 25px;
}
.newsletter{
	/*display: block;*/
	margin-top: 1rem;
	line-height: 52px; /*28*/
	/*font-family: Rubik, sans-serif;*/
	font-family: karla;
	font-size: 1.75rem;
	text-align: center;


	/*display: inline-block;*/
}


.button {
	padding: 8px 24px;
	border-radius: 4px;
	background-color: steelblue;
	background-color: #181818;
	background: #191f22;
	font-family: Rubik, sans-serif;
	color: white;
	line-height: 30px;
	font-weight: 500px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	text-decoration: none;

	border-radius: 2em;
	box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.w-button, .w-botton {
	border: 0;
	text-decoration: none;
	cursor: pointer;
	font-family: Rubik, sans-serif;
	background: #191f22;
	color: white;
	padding: 8px 24px;
	border-radius: 2em;
	box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-weight: 500;
	transition: background 0.2s;
}

.w-button:focus, .w-botton:focus, .button:focus, input[type=submit]:focus {
	outline: 2px solid steelblue;
	outline-offset: 2px;
}
.page-2{
	color: black;
	/*padding-top: 100px;*/

	margin-top: 0px;
	margin-left: 0px;
	padding-top: 100px;
	padding-bottom: 56px;
}
.w-container {
	margin-left: auto;
	margin-right: auto;
	max-width: 940px;
}

.page-name {
	/*display: inline-block;*/

	margin-top: 10px;
	margin-bottom: 10px;
	font-family: Michroma;
	color: #43464B;
	font-size: 60px;
	line-height: 24px;
	font-weight: 500;
	letter-spacing: 2px;
	text-align: center;
}

section.contracting {

	min-height: auto;
	padding: 20px;
	/*height: auto;*/
	background: #e5e4e2; /* like this one */

	span{
		color: #818181;
		color: #191f22;
		color: steelblue;
	}

}
.contracting .page-name {
	padding-top: 20%; /* was 60px*/
	color: #181818;
	line-height: 65px;
}
.contracting .newsletter{
	padding-top: 20px;

	color: #43464B;
	letter-spacing: 1px;
	font-size: 25px;

}

.contracting-info .newsletter{
	color: whitesmoke;
	font-family: karla;
	line-height: 28px;
	letter-spacing: 0em;
	font-size: 20px;
}

.contracting .cards-container {
	padding-top: 100px;
	margin-left: 0px;

	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;/*flex-st /*center */
	flex-wrap: wrap;
	gap: 50px;

	/*position: absolute;*/
	.cards{

		/*background: #C4B6A6;
		background-color: #2d3436;
		background-image: linear-gradient(315deg, #2d3436 0%, #000000 74%, #2d3436);*/
		background: #191f22;
		min-width: 550px;
		min-height: 250px; /*600*/
		height: auto;
		border: 2px solid white;
		border-radius: 2em;
		margin-right: 0%; /*45px;*/
		font-weight: normal;
		text-align: center;
		
		box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
		box-shadow: rgb(38, 57, 77) 0px 20px 30px -10px;
		display: flex;
		flex-direction: column;

	}

	.servicename {
		margin-top: 15px;
		/*padding-top: 10px;
		/*padding-bottom: 10px;*/
		padding-left: 50px;
		padding-right: 50px;
		text-transform: none;
		color: whitesmoke;/*color: #818181;*/
	}
}

section.contracting-info {
	padding-top: 50px;
	/*height: 1200px; /*600 is best */
	min-height: auto;

	border-radius: 0em;
	background: #06101a;
	background-color: #2d3436;
	background-image: linear-gradient(315deg, #2d3436 0%, #000000 74%, #2d3436);
}

.contracting-info .page-name{
	/*padding-top: 100px;*/
	padding-top: 10vh; /*was 25vh*/
	color: #43464B;
	color: whitesmoke;
	/*font-size: 30px;*/
	text-align: center;

	/*font-family: Rubik, sans-serif;*/
	font-family: karla;
	line-height: 40px;
	line-height: 65px;
}

.contracting-info .cards-container {
	/*margin-top: 100px;*/
	padding-top: 100px;
	margin-left: 0px;
	margin: 0 auto;
	align-items: center;
	justify-content: center;

	.cards {
		min-height: 350px;
		margin-right: 5%;

		border-right: 1px solid black;
		border-left: 1px solid black;
		border-radius: 2em;
		border: none;
		/*background: #06101a;
		background: #D1C2B1;
		background: #353E43;
		background: #191f22;*/
		background: transparent;

		box-shadow: none;
		box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px;
	}
	.servicename{
		color: #818181;
		color: whitesmoke
		/*text-shadow: 1px 20px 50px whitesmoke;*/
	}
}
section.page-2{
	background: #B2BEB5;
	background: #e5e4e2;
}
.page-2 .page-name{
	padding-top: 100px;
}
.page-2 .newsletter {
	color: gray;
}
/*.page-2 h3 {
	color: steelblue;
	font-weight: bold;
	font-size: 16px;
}*/

.page-2 .grid-container {
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.page-2 .RND-grid-container { 
	display: grid;
	grid-auto-columns: 1fr; 
	grid-template-rows: auto auto;
	grid-row-gap: 16px;
	grid-column-gap: 16;
}

.page-2 .grid-item {
	padding: 20px;
	font-size: 14px;
	text-align: left;
}
.page-2 .grid-item h3 {
	margin-top: 20px;
	margin-bottom: 10px;
	font-family: Rubik, sans-serif;
	font-size: 23px;
	line-height: 39px;
	font-weight: 400;
	color: darkred;
}

.page-2 .grid-item h4 {
	font-family: Rubik, sans-serif;
	color: steelblue;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	
}
.page-2 .grid-item  p{
	margin-bottom: 20px;
	font-family: "Open Sans", sans-serif;
	color: black;
	font-size: 16px;
	line-height: 30px;
}

section.page-3 {
	margin-top: 0px;
	margin-left: 0px;
	padding-top: 60px;
	padding-bottom: 150px;

	background: #B2BEB5;
	background: #e5e4e2;
}

.page-3 .w-container {
	max-width: 1200px;
}
.page-3 .page-name {
	color: black; 
	font-size: 30px;
	padding-top: 50px;
	padding-bottom: 50px;
}
.page-3 .newsletter {
	margin-top: 20px;
	padding-left: 20px;
	padding-right: 20px;
	color: whitesmoke;
	font-size: 16px;

	color: #818181;

		/*display: block;*/
	margin-top: 1rem;
	line-height: 25px; /*28*/
	text-align: left;

}

.cards-container {
	display: flex;
	width: 100%;
	justify-content: center;
	flex-wrap: wrap;
	padding-bottom: 5vw;
	padding-top: 3vw;
	gap: 2vw;
	row-gap: 40px;
	column-gap: 40px;
}

.cards {
	width: 90vw;
	max-width: 350px;
	min-width: 260px;
	min-height: 200px;
	height: auto;
	border: 2px solid white;
	margin-right: 0;
	font-weight: normal;
	text-align: center;
	background: #191f22;
	display: flex;
	flex-direction: column;
	border-radius: 2em;
	box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, 
				rgba(0, 0, 0, 0.12) 0px -12px 30px, 
				rgba(0, 0, 0, 0.12) 0px 4px 6px, 
				rgba(0, 0, 0, 0.17) 0px 12px 13px, 
				rgba(0, 0, 0, 0.09) 0px -3px 5px;
	box-shadow: rgb(38, 57, 77) 0px 20px 30px -10px;
	margin-bottom: 20px;
}
/* Form label and placeholder improvements */
label {
	font-family: karla;
	font-size: 1rem;
	color: #191f22;
	margin-bottom: 8px;
	display: block;
}

input::placeholder, textarea::placeholder {
	color: #818181;
	opacity: 1;
	font-family: karla;
}
/* Accessibility: focus styles for all inputs */
input[type=text]:focus, textarea:focus, select:focus {
	outline: 2px solid steelblue;
	outline-offset: 2px;
}

/* Responsive adjustments */
@media screen and (max-width: 991px) {
    .w-container {
        max-width: 728px;
    }
    .cards {
        max-width: 98vw;
    }
    .cards-container {
        gap: 3vw;
    }
}

.card-top{
	/*background-color: #191f22;*/
	span{
		color: steelblue;
	}
	flex: 0.6;
}

.card-bottom{
	flex: 0.4;
	background-position: left;
	background-size: cover;

}

.servicename {
	color: whitesmoke;
	margin-top: 10%;
	text-align: center;
}

.page-3 h6{
	display: inline-block;
	margin-bottom: 10px;
	font-family: Rubik, sans-serif;
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	letter-spacing: 2px;
	
}


input[type=text], select, textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 10px;
  box-sizing: border-box;
  margin-top: 6px;
  margin-bottom: 16px;
  resize: vertical;

  font-family: karla;
  font-size: 16px;

   background: #e5e4e2;
}

input[type=submit] {
  background-color: #191f22;;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;

  box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;


}

input[type=submit]:hover {
  background-color: steelblue;
  font-family: karla;
}

.contact {
	margin: 4vw auto;
	border-radius: 8px;
	padding: 48px 5vw;
	background: #bfc1c2;
	background: #191f22;
	font-family: karla;
	/*box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;*/
	max-width: 600px;
	width: 100%;
}

.contact-info a {
	text-decoration: none;
	color: whitesmoke;
}

@media screen and (max-width: 991px) {
	.contact {
		padding: 32px 2vw;
		max-width: 98vw;
	}
}

@media screen and (max-width: 600px) {
	.contact {
		padding: 18px 1vw;
		margin: 2vw auto;
		max-width: 100vw;
		box-shadow: none;
	}
	.contact input[type="text"],
	.contact textarea {
		font-size: 15px;
		padding: 8px;
	}
	.contact input[type=submit] {
		font-size: 15px;
		padding: 10px 12px;
	}
}

footer {
	display: block;
}
.footer {
	margin-top: auto;
	padding-top: 40px;
	padding-bottom: 40px;
	background-color: #10181f;
}
.w-container {
	margin-left: auto;
	margin-right: auto;
	max-width: 940px;
}
.w-container:before, .w-container:after {
	content: " ";
	display: table;
	grid-column-start: 1;
	grid-column-end: 2;
	grid-row-end: 2;
}
.w-container .w-row {
	margin-left: -10px;
	margin-right: -10px;
}
.w-row:before, .w-row:after {
	content: " ";
	display: table;
	grid-column-start: 1;
	grid-row-start: 1;
	grid-column-end: 2;
	grid-row-end: 2;
}
.w-col-4 {
	width: 33.33333333%;
}

.w-col {
	position: relative;
	float: left;
	min-height: 1px;
	padding-left: 10px;
	padding-right: 10px;
}
.heading-3 {
	margin-bottom: 24px;
	color: #f0f4f7;
}
h6 {
	display: inline-block;
	margin-top: 10px;
	font-family: Rubik, sans-serif;
	font-family: Michroma;
	font-size: 18px;
	line-height: 24px;
	font-weight: 500;
	letter-spacing: 2px;
}

.p4.light {
	/*color: #f0f4f7;*/
	color: whitesmoke;
	font-size: 16px;
}

.p4{
	line-height: 26px;
}

p{
	margin-bottom: 20px;
	font-family: "Open Sans", sans-serif;
	font-family: karla;
}

.w-row:after {
	clear: both;
}

.w-row:before, .w-row:after {
	content: " ";
	display: auto;
	grid-column-start: 1;
	grid-row-start: 1;
	grid-column-end: 2;
	grid-row-end: 2;
}

.w-container:after {
	clear: both;
}

.w-container:before, .w-container:after {
	content: " ";
	display: table;
	grid-column-start: 1;
	grid-row-start: 1;
	grid-column-end: 2;
	grid-row-end: 2;
}