.heading {
	font-family: din-next-w01-light, din-next-w02-light, din-next-w10-light, sans-serif;
	font-size: 20px;
	font-weight: bold;
	color: #333;
}

.mainheadingwhite {
	font-family: din-next-w01-light, din-next-w02-light, din-next-w10-light, sans-serif;
	font-size: 38px;
	color: white;
	line-height: 1.3em;
}

.mainheadingblue {
	font-family: din-next-w01-light, din-next-w02-light, din-next-w10-light, sans-serif;
	font-size: 38px;
	color: #04395e;
	line-height: 1.3em;
}

.mainhomeheadingwhite {
	font-family: din-next-w01-light, din-next-w02-light, din-next-w10-light, sans-serif;
	font-size: 50px;
	color: white;
	line-height: 1.3em;
}

.mainhomeheadingblue {
	font-family: din-next-w01-light, din-next-w02-light, din-next-w10-light, sans-serif;
	font-size: 50px;
	color: #04395e;
	line-height: 1.3em;
}

.headingwhite {
	font-family: din-next-w01-light, din-next-w02-light, din-next-w10-light, sans-serif;
	line-height: 1.3em;
	font-size: 28px;
	margin-top: 12px;
	color: white;
}

.headingblue {
	font-family: din-next-w01-light, din-next-w02-light, din-next-w10-light, sans-serif;
	line-height: 1.3em;
	font-size: 28px;
	margin-top: 12px;
	color: #04395e;
}

.headingnavyblue {
	font-family: din-next-w01-light, din-next-w02-light, din-next-w10-light, sans-serif;
	line-height: 1.3em;
	font-size: 28px;
	margin-top: 12px;
	color: #04395e;
	font-weight: bold;
}

.heading3 {
	font-family: din-next-w01-light, din-next-w02-light, din-next-w10-light, sans-serif;
	font-size: 15px;
	color: white;
}

.heading4 {
	font-family: din-next-w01-light, din-next-w02-light, din-next-w10-light, sans-serif;
	font-size: 27px;
	color: #00c8dc;
}

.headingbluefooter {
	font-family: din-next-w01-light, din-next-w02-light, din-next-w10-light, sans-serif;
	font-size: 25px;
	color: white;
	text-decoration: underline;
	font-weight: bold;
}
/* checkbox  */
.container {
	/* //display: block; */
	position: relative;
	padding-left: 35px;
	margin-bottom: 12px;
	cursor: pointer;
	font-size: 15px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* Hide the browser's default checkbox */
.container input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}

/* Create a custom checkbox */
.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 25px;
	width: 25px;
	background-color: #eee;
}

/* On mouse-over, add a grey background color */
.container:hover input~.checkmark {
	background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.container input:checked~.checkmark {
	background-color: #0b426c;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
	content: "";
	position: absolute;
	display: none;
}

/* Show the checkmark when checked */
.container input:checked~.checkmark:after {
	display: block;
}

/* Style the checkmark/indicator */
.container .checkmark:after {
	left: 9px;
	top: 5px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.box-containerwhite {
	background-color: #FFFFFF;
	/* border: 1px solid #fff; */
	box-shadow: 0 2px 3px #ccc;
	padding: 15px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px
}

.box-containerpurple {
	background-color: #663399;
	/* border: 1px solid #fff; */
	box-shadow: 0 2px 3px #ccc;
	padding: 15px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.box-containersolidgrey {
	background-color: #04395e;
	/* border: 1px solid #fff; */
	box-shadow: 0 2px 3px #ccc;
	padding: 15px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.box-containerblue {
	background-color: #00c8dc;
	/* border: 1px solid #fff; */
	box-shadow: 0 2px 3px #ccc;
	padding: 15px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px
}
/* COMMON */
.cm-title {
	font-family: 'Archivo', sans-serif;
	font-size: 50px;
	line-height: 1.08;
	font-weight: 700;
	color: #16395D;
	letter-spacing: -0.5px;
	text-align: center;
	margin: 0 0 70px;
}

.cm-heading {
	font-family: 'Archivo', sans-serif;
	font-size: 31px;
	line-height: 1.15;
	font-weight: 700;
	color: #04395e;
	letter-spacing: -0.3px;
	margin: 0;
}

.cm-subtitle {
	font-family: 'Archivo', sans-serif;
	font-size: 13px;
	line-height: 1.4;
	font-weight: 600;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: #6f8294;
}

.cm-text {
	font-family: 'Archivo', sans-serif;
	font-size: 18px;
	line-height: 1.9;
	font-weight: 400;
	color: #34414b;
	margin: 0;
}

.cm-text-sm {
	font-family: 'Archivo', sans-serif;
	font-size: 17px;
	line-height: 1.9;
	font-weight: 400;
	color: #4e6374;
	margin: 0;
}

.cm-text-space {
	margin-top: 18px;
}

.cm-text-sm-space {
	margin-top: 14px;
}

.cm-text b,
.cm-text-sm b {
	color: #04395e;
	font-weight: 700;
}

.cm-space-lg {
	margin-top: 24px;
}

.cm-link {
	color: #04395e;
	text-decoration: underline;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

.cm-link:hover {
	color: #2563eb;
}

/* LAYOUT */
.cm-container {
	max-width: 1500px;
	margin: 0 auto;
}

.cm-row {
	display: flex;
	align-items: center;
}

.cm-item {
	position: relative;
	border-bottom: 1px solid rgba(4, 57, 94, 0.10);
}

.cm-item-last {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.cm-content {
	width: 100%;
	max-width: none;
	padding-left: 40px;
	padding-right: 10px;
}

.cm-image-center {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.cm-uppercase {
	font-family: 'Archivo', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	color: #9c9c9c;
	letter-spacing: 9px;
	line-height: 1;
}

.cm-date {
	font-family: 'Archivo', sans-serif;
	font-size: 15px;
	line-height: 1.6;
	font-weight: 400;
	color: #6f8294;
	margin-bottom: 8px;
}

.cm-link-lg {
	font-family: 'Archivo', sans-serif;
	font-size: 22px;
	line-height: 1.5;
	font-weight: 700;
	color: #04395e;
	text-decoration: none;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

.cm-link-lg:hover {
	color: #2563eb;
}


/* COMMON GRID */
.cm-grid {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 90px;
	margin-top: 70px;
}

.cm-card {
	flex: 0 0 354px;
	max-width: 354px;
	text-align: left;
}

.cm-card .cm-heading {
	margin-bottom: 20px;
}

.cm-card .cm-text {
	max-width: 100%;
}

/* TWO COLUMN CONTENT SECTION */

.cm-split-section {
	padding: 110px 0;
}

.cm-split-section .cm-row {
	align-items: flex-start;
}

.cm-split-section .cm-heading {
	font-size: 40px;
	margin-bottom: 0;
}

.cm-split-section ul {
	margin: 0;
	padding-left: 22px;
}

.cm-split-section li {
	margin-bottom: 12px;
}

.cm-split-section .circle {
	margin-top: 10px;
}

.cm-section-blue {
	background: #002f5c;
}

.cm-section-blue .cm-heading,
.cm-section-blue .cm-text {
	color: #fff;
}

.cm-section-blue .cm-text {
	color: rgba(255, 255, 255, .9);
	max-width: 900px;
}

.cm-section-white {
	background: #fff;
}

.cm-section-grey {
	background: #f5f7fa;
}

@media(max-width:991px) {

	.cm-split-section {
		padding: 90px 0;
	}

	.cm-split-section .cm-heading {
		font-size: 36px;
		margin-bottom: 30px;
	}

}

@media(max-width:991px) {

	.cm-split-section {
		padding: 70px 0;
	}

	.cm-split-section .cm-heading {
		font-size: 30px;
	}

}


/* Two Column Image + Content */
.cm-split-layout {
	align-items: center;
	gap: 70px;
}

.cm-split-image {
	width: 100%;
	max-width: 760px;
	height: auto;
	border-radius: 10px;
	display: block;
}

.cm-content {
	padding-left: 0;
	padding-right: 0;
}

.cm-content .cm-heading {
	margin-bottom: 28px;
}

.cm-modules-section .cm-content {
	margin-top: 60px;
}

.cm-asset-section .cm-split-layout {
	gap: 180px;
}

/* TURN KEY HERO */

.cm-turnkey-section {
	position: relative;
	overflow: hidden;
	background-image: url("/images/binary-rain.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 70px 0;
}

/* dark overlay */

.cm-turnkey-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg,
			rgba(3, 18, 40, .18),
			rgba(4, 21, 45, .35),
			rgba(5, 18, 40, .55));
	z-index: 1;
}

/* content */

.cm-turnkey-row {
	position: relative;
	z-index: 3;
	align-items: center;
	min-height: 560px;
}

/* Ring */

.cm-turnkey-ring {
	position: absolute;
	top: 50%;
	left: 180px;
	transform: translateY(-50%);
	width: 520px;
	z-index: 2;
	pointer-events: none;
}

.cm-turnkey-ring img {
	width: 100%;
	display: block;
	filter:
		drop-shadow(0 0 10px rgba(255, 255, 255, .25)) drop-shadow(0 0 30px rgba(255, 255, 255, .18));
}

.cm-turnkey-content {
	position: relative;
	z-index: 5;
	padding-left: 70px;
}

.cm-turnkey-content .cm-subtitle {
	color: #fff;
	opacity: .95;
	letter-spacing: 4px;
	margin-bottom: 20px;
}

.cm-turnkey-content .cm-heading {
	color: #fff;
	font-size: 62px;
	line-height: 1.04;
	margin-bottom: 34px;
}

.cm-turnkey-content .cm-text {
	color: rgba(255, 255, 255, .88);
	font-size: 22px;
	line-height: 1.9;
	max-width: 850px;
}

@media (max-width:1600px){
    .cm-turnkey-ring{
        width:460px;
        left:120px;
    }
    .cm-turnkey-content{
        padding-left:40px;
    }
    .cm-turnkey-content .cm-heading{
        font-size:56px;
    }
    .cm-turnkey-content .cm-text{
        font-size:20px;
    }
}

@media (max-width:1400px){
	.cm-turnkey-row{
	    min-height:475px;
	    align-items:center;
	}
    .cm-turnkey-ring{
        width:400px;
        left:70px;
    }
    .cm-turnkey-content{
        padding-left:20px;
    }
    .cm-turnkey-content .cm-heading{
        font-size:48px;
    }
    .cm-turnkey-content .cm-text{
        font-size:19px;
        line-height:1.8;
    }
}

@media (max-width:1200px){
    .cm-turnkey-ring{
        width:340px;
        left:40px;
    }
    .cm-turnkey-content{
        padding-left:10px;
    }
    .cm-turnkey-content .cm-heading{
        font-size:42px;
    }
    .cm-turnkey-content .cm-text{
        font-size:18px;
    }
}
