/* laser welding CSS */

.cglw {
	font-size: 20px;
	line-height: 1.5;
	font-weight: normal;
	color: #314C89;
}

.cglw * {
	box-sizing: border-box;
}

.cglw img {
	max-width: 100%;
}

.cglw h1,
.cglw h2,
.cglw h3,
.cglw h4,
.cglw h5,
.cglw h6,
.cglw .h1,
.cglw .h2,
.cglw .h3,
.cglw .h4,
.cglw .h5,
.cglw .h6 {
	color: #314C89;
	font-weight: 500;
	line-height: 1.2;
}

.cglw h1,
.cglw .h1 {
	font-size: 35px;
}

.cglw h2,
.cglw .h2 {
	font-size: 30px;
	margin-bottom: 24px;
}

.cglw h3,
.cglw .h3 {
	font-size: 25px;
}

.cglw h4,
.cglw h5,
.cglw h6,
.cglw .h4,
.cglw .h5,
.cglw .h6 {
	font-size: 20px;
}

.cglw p {
	margin: 0 0 20px;
}

.cglw p + .cg-btn {
	margin-top: 10px;
}

.cglw ul,
.cglw ol {
	padding: 0 0 0 20px;
	margin: 0 0 15px;
}

.cglw li {
	margin: 0 0 10px;
}

.cglw .cg-btn {
	display: inline-block;
	height: 50px;
	line-height: 48px;
	font-size: 20px;
	text-align: left;
	color: #314C89;
	border: 1px solid #314C89;
	background-color: transparent;
	padding: 0 20px;
	text-decoration: none;
	border-radius: 0;
/*	min-width: 160px;*/
	transition: .2s all;
	cursor: pointer;
}

.cglw .cg-btn i {
	margin-left: 20px;
	position: relative;
	top: 1px;
}

.cglw .cg-btn i:not(.pre) {
	top: 50%;
    transform: translateY(-50%);
    float: right;
}

.cglw .cg-btn i.pre {
	margin-right: 10px;
	margin-left: 0;
}

.cglw .cg-btn:hover,
.cglw .cg-btn:focus {
	background-color: #314C89;
	color: #fff;
}

.cglw .cg-btn.btn--blue {
	background-color: #314C89;
	color: #fff;
	border-color: #314C89;
	/* I added these for the demo button.*/
	/*margin-left: 15px;*/ 
	/*min-width: 250px;*/
}

/* Created this separate rule with a more specific selector for the demo button */

.cglw__demo-cta__btns .cg-btn.btn--blue {
	margin-left: 15px;
	min-width: 250px;

}

.cglw .cg-btn.btn--blue:hover,
.cglw .cg-btn.btn--blue:focus {
	background-color: #fff;
	color: #314C89;
}

.cglw .cg-btn.btn--green {
	background-color: #13C057;
	color: #fff;
	border-color: #13C057;
}

.cglw .cg-btn.btn--green:hover,
.cglw .cg-btn.btn--green:focus {
	background-color: #fff;
	color: #13C057;
}

.cglw .cg-btn.btn--red {
	background-color: #fff;
	color: #FF0000;
	border-color: #FF0000;
}

.cglw .cg-btn.btn--red:hover,
.cglw .cg-btn.btn--red:focus {
	background-color: #FF0000;
	color: #fff;
}

.cglw .cg-btn.btn--black {
	background-color: #000;
	color: #fff;
	border-color: #000;
}

.cglw .cg-btn.btn--black:hover,
.cglw .cg-btn.btn--black:focus {
	background-color: #fff;
	color: #000;
}

.cglw .cg-btn.sm {
	height: 32px;
    line-height: 30px;
    min-width: 118px;
    padding: 0 8px;
    font-size: 14px;
}

.cglw .cg-btn.sm i.pre {
	margin-right: 2px;
}

.cglw .btn-as-link {
	border: none;
	background: none;
	padding: 0;
	font-size: inherit;
	color: inherit;
	text-decoration: underline;
	cursor: pointer;
}

.cglw .btn-as-link:hover,
.cglw .btn-as-link:focus {
	text-decoration: none;
}

.cglw__hero {
	width: 100%;
	min-height: 525px;
	position: relative;
	padding: 50px;
	display: flex;
	align-items: center;
}

.cglw__hero__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	object-fit: cover;
	object-position: left;
}

.cglw__hero__inner {
	position: relative;
	z-index: 2;
	width: 33.333%;
	color: #314C89;
}

.cglw__hero__inner > *:nth-child(1) {
	margin-top: 0;
}

.cglw__hero__inner > *:nth-last-child(1) {
	margin-bottom: 0!important;
}

.cglw-inner ul {
    list-style: disc;
}

.cglw__hero__logo {
	width: 223px;
	height: auto;
	max-width: 100%;
	margin: 0 0 10px;
}

.cglw__hero__heading {
	font-weight: bold!important;
	font-size: 50px!important;
	line-height: 1.1;
	margin: 0 0 40px;
	color: inherit!important;
}

.cglw__hero__copy {
	margin-bottom: 40px;
	font-size: 20px;
	font-weight: bold;
}

.cglw__hero__copy > *:nth-last-child(1) {
	margin-bottom: 0;
}

.cglw__hero__inner .cg-btn {
	width: 248px;
	margin-bottom: 20px;
}

.cglw__cwi {
	padding: 75px 0;
	width: 100%;
	display: flex;
	align-items: center;
}

.cglw__cwi__copy {
	width: 50%;
	padding: 15px 90px;
}

.cglw__cwi__copy > div > *:nth-child(1) {
	margin-top: 0;
}

.cglw__cwi__img-wrapper {
	width: 50%;
	padding: 15px;
}

.cglw__cwi__img {
	margin: 0 auto;
	display: block;
}

.cglw__compare {
	width: 100%;
	padding: 45px 0 90px;
}

.cglw__compare__heading {
	width: 40%;
	padding: 30px 90px 45px;
	margin: 0!important;
}

.cglw__compare__main {
	background-color: #F7F7F7;
}

.cglw__compare__top {
	padding: 45px 0 0;
	display: flex;
	flex-wrap: wrap;
}

.cglw__compare__top__copy {
	padding: 0 90px;
	width: 40%;
}

.cglw__compare__top__copy h3 {
	margin-bottom: 10px;
}

.cglw__compare__top__images {
	margin-top: -90px;
	padding: 0 90px 0 0;
	width: 60%;
	display: flex;
	justify-content: space-between;
}

.cglw__compare__top__image {
	width: calc(50% - 10px);
}

.cglw__compare__body {
	display: flex;
	flex-wrap: wrap;
}

.cglw__compare__features {
	width: 40%;
	padding: 0 90px!important;
	/* For the table alignment I've played around with the margin on this rule at each @media rule */
	/*margin: 84px 0 0!important;*/
	margin: 40px 0 0!important;
	list-style: none;
}

.cglw__compare__features li {
	height: 50px;
	line-height: 1.4;
	display: flex;
	align-items: center;
}

.cglw__compare__products {
	width: 60%;
	padding: 0 90px 0 0;
	margin-bottom: -25px;
	display: flex;
	justify-content: space-between;
}

.cglw__compare__product {
	width: calc(50% - 10px);
	background-color: #fff;
	text-align: center;
	font-size: 30px;
}

.cglw__compare__product__heading {

}

.cglw__compare__product__ticks {
	list-style: none;
	padding: 0!important;
	margin: 10px 0 30px!important;
}

.cglw__compare__product__ticks li {
	height: 50px;
	line-height: 50px;
	color: #54C700;
}

.cglw__compare__product__ticks li i.fa-xmark {
	color: #FF0000;
}

.cglw__compare__product .cg-btn {
	width: 100%;
	text-align: center;
	overflow: hidden;
	display: block;
}

.cglw__cwi--alternating {
	width: 100%;
}

.cglw__cwi--alternating__row {
	padding: 60px 30px;
	width: 100%;
	display: flex;
	align-items: center;
}

.cglw__cwi--alternating__copy {
	width: 40%;
	padding: 15px 30px;
}

.cglw__cwi--alternating__copy > div > *:nth-child(1) {
	margin-top: 0;
}

.cglw__cwi--alternating__copy > div > *:nth-last-child(1) {
	margin-bottom: 0;
}

.cglw__cwi--alternating__img-wrapper {
	width: 60%;
	padding: 15px 30px;
}

.cglw__cwi--alternating__img {
	margin: 0 auto 0 0;
	display: block;
}

.cglw__cwi--alternating .cglw__cwi--alternating__row:nth-child(even) {
	flex-direction: row-reverse;
}

.cglw__cwi--alternating .cglw__cwi--alternating__row:nth-child(even) .cglw__cwi--alternating__img {
	margin: 0 0 0 auto;
}

.cglw__specs {
	width: 100%;
	padding: 75px 0 0;
}

.cglw__specs__heading {
	margin: 0 0 45px;
	text-align: center;
	padding: 0;
}

.cglw__specs__product {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.cglw__specs__product__inner {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
}

.cglw__specs__product__heading {
	width: 100%;
	background-color: #F7F7F7;
	padding: 30px 0;
}

.cglw__specs__product__name {
	margin: 0;
	padding: 0;
	flex-grow: 1;
	color: #707070!important;
	font-weight: bold!important;
}

.cglw__specs__product__img {

}

.cglw__specs__product__body {
	width: 100%;
	padding: 30px 0 90px;
	font-size: 18px;
	color: #707070;
}

.cglw__specs__product__body__row {
	display: flex;
	flex-wrap: wrap;
/*	align-items: center;*/
	width: 100%;
}

.cglw__specs__product__body__row p {
	padding: 10px 10px 10px 30px;
	margin: 0;
	width: 70%;
	display: flex;
	align-items: center;
}

.cglw__specs__product__body__row p:nth-child(1) {
	padding: 10px;
	background-color: #F7F7F7;
	width: 30%;
}

.cglw__faqs {
	padding: 60px 0 75px;
	width: 100%;
    max-width: 980px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.cglw__faqs__header {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 0 30px;
}

.cglw__faqs__heading {
	flex-grow: 1;
	margin: 0!important;
}

.cglw__faqs__link {
	font-size: 25px;
	color: #707070;
	text-decoration: none;
	margin-left: 15px;
	display: inline-block;
}

.cglw__faqs__link i {
	margin-right: 5px;
}

.cglw__faqs__link span {
	text-decoration: underline;
}

.cglw__accordion {
	width: 100%;
	border-top: 1px solid #e4e4e4;
	margin: 0;
	color: #707070;
}

.cglw__accordion__header {
	position: relative;
	width: 100%;
	margin: 0;
}

.cglw__accordion__header__btn {
	width: 100%;
	min-height: 45px;
	border: 1px solid #E4E4E4;
	color: inherit;
	border-top: none;
	box-shadow: none;
	font-size: 20px;
	background: none;
	text-align: left;
	padding: 5px 45px 5px 15px;
	line-height: 1.3;
	cursor: pointer;
	z-index: 2;
}

.cglw__accordion__header__btn + span {
	font-size: 20px;
	font-weight: 300;
	position: absolute;
	top: 0;
	right: 0;
	height: 45px;
	width: 45px;
	text-align: center;
	line-height: 45px;
	font-family: "Font Awesome 6 Pro";
	z-index: 1;
	color: #707070;
}

.cglw__accordion__header__btn + span:before {
	content: '\f078';
}

.cglw__accordion__header__btn[aria-expanded="true"] + span:before {
	content: '\f077';
}

.cglw__accordion__panel {
	border: 1px solid #e4e4e4;
	border-top: none;
	padding: 15px;
	font-size: 16px;
}

.cglw__accordion__panel > *:nth-child(1) {
	margin-top: 0;
}

.cglw__accordion__panel > *:nth-last-child(1) {
	margin-bottom: 0;
}

.cglw__demo-cta {
	padding: 60px 0;
	width: 100%;
    /*max-width: 980px;*/
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.cglw__demo-cta__heading {
	/*width: 50%;*/
	/*margin: 15px 0;*/
	margin: 15px;
}

.cglw__demo-cta__btns {
	/*width: 50%;*/
	display: flex;
	justify-content: space-around;
	align-items: center;
	/*margin: 15px 0;*/
}

.cglw__demo-cta__btns .cg-btn {

}

.cglw__help {
	padding: 75px 0 15px;
	width: 100%;
    max-width: 980px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    color: #43484B;
    text-align: center;
}

.cglw__help__heading {
	width: 100%;
	margin: 0 0 60px!important;
	color: inherit!important;
}

.cglw__help__row {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.cglw__help__col {
	width: 30%;
	position: relative;
	padding-bottom: 70px;
	margin: 0 0 60px;
	font-size: 17px;
}

.cglw__help__col img {
	width: 100%;
	height: auto;
	margin: 0 0 10px;
}

.cglw__help__col i {
	font-size: 50px;
	margin: 0 0 10px;
}

.cglw__help__col__heading {
	margin: 0 0 20px!important;
	color: inherit!important;
}

.cglw__help__col .cg-btn {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
}

.cglw__help__col a:not(.cg-btn) {
	color: inherit;
}

.cglw__help__col a:not(.cg-btn):hover,
.cglw__help__col a:not(.cg-btn):focus {
	text-decoration: none;
}

.cglw__help__outro {
	margin: 15px 0 0;
	font-size: 17px;
}

.cglw__help__outro > *:nth-child(1) {
	margin-top: 0;
}

.cglw__help__outro > *:nth-last-child(1) {
	margin-bottom: 0;
}

@media only screen and (max-width: 1300px) {

	.cglw {
		font-size: 18px;
	}

	.cglw__hero {
		padding: 30px;
	}

	.cglw__hero__inner {
		width: 40%;
	}	

	.cglw__cwi__copy {
		padding: 15px 30px;
	}

	.cglw__compare__heading {
		padding: 30px 30px 45px;
	}

	.cglw__compare__top__copy {
		padding: 0 30px;
	}

	.cglw__compare__features {
		padding: 0 30px!important;
	}

	.cglw__cwi--alternating__row {
		padding: 60px 0;
	}
}

@media only screen and (max-width: 1100px) {

	
	/*.cglw__hero__inner {
		width: 50%;
	}*/

	.cglw__compare__top__images,
	.cglw__compare__products {
		padding: 0 30px 0 0;
		margin-top: 0;
	}

	.cglw__cwi--alternating__img-wrapper,
	.cglw__cwi--alternating__copy {
		width: 50%;
	}

	.cglw__specs__product__heading {
		padding: 30px;
	}

	.cglw__specs__product__body {
		padding: 30px 30px 90px;
	}

	.cglw__faqs {
		padding: 60px 30px 75px;
	}

	.cglw__demo-cta {
		padding: 60px 30px;
	}

	.cglw__demo-cta__heading,
	.cglw__demo-cta__btns {
		width: 100%;
		justify-content: center;
		text-align: center;
	}

	.cglw__demo-cta__btns .cg-btn {
		margin: 0 10px;
	}
}

@media only screen and (max-width: 995px) {

	
	.cglw__hero__inner {
		width: 50%;
	}
}

@media only screen and (max-width: 850px) {

	
	.cglw__hero {
		min-height: 0;
		flex-direction: column-reverse;
		background-color: #eee;
		padding: 0;
	}

	.cglw__hero__bg {
		width: 100%;
		height: auto;
		position: relative;
	}

	.cglw__hero__inner {
		width: 100%;
		padding: 30px 30px 0;
	}

	.cglw__cwi {
		padding: 30px 0;
		flex-direction: column;
	}

	.cglw__cwi__copy,
	.cglw__cwi__img-wrapper {
		width: 100%;
		padding: 15px 0;
	}

	.cglw__compare {
		padding: 45px 0;
	}

	.cglw__compare__heading {
		padding: 0 0 30px;
		width: 100%;
	}

	.cglw__compare__top {
		padding: 30px 0 0;
	}

	.cglw__compare__body {
		padding: 0 0 30px;
	}

	.cglw__compare__top__copy {
		width: 100%;
		padding: 0 15px;
	}

	.cglw__compare__top__images {
		width: 50%;
		margin: 0 0 0 auto;
		padding: 0 15px 0 0;
	}

	.cglw__compare__top__image {
		width: calc(50% - 5px);
	}

	.cglw__compare__features {
		width: 50%;
		padding: 0 15px!important;
		/* For the table alignment I've played around with the margin on this rule at each @media rule */
		/*margin: 65px 0 0!important;*/
		margin: 35px 0 0!important;
	}

	.cglw__compare__products {
		width: 50%;
		padding: 0 15px 0 0;
		margin-bottom: 0;
	}

	.cglw__compare__product {
		width: calc(50% - 5px);
	}

	.cglw__compare__product__heading {
		font-size: 20px!important;
	}

	.cglw .cg-btn {
		font-size: 16px!important;
	}

	.cglw .cg-btn.btn--blue {
		/* I added these for the demo button.*/
		/*min-width: 200px;*/
	}

	/* Created this separate rule with a more specific selector for the demo button */

	.cglw__demo-cta__btns .cg-btn.btn--blue {
		min-width: 200px;
	}
	.cglw__cwi--alternating__row {
		padding: 30px 0;
		flex-wrap: wrap;
		flex-direction: column;
	}

	.cglw__cwi--alternating__img-wrapper, 
	.cglw__cwi--alternating__copy {
		width: 100%;
		padding: 15px 0;
	}

	.cglw__specs {
		padding: 45px 0 0;
	}

	.cglw__specs__product__heading {
		padding: 30px 15px;
	}

	.cglw__specs__product__body {
		padding: 30px 0 45px;
		font-size: 16px;
	}

	.cglw__specs__product__body__row p {
		width: 65%;
		padding: 10px 10px 10px 15px;
	}

	.cglw__specs__product__body__row p:nth-child(1) {
		width: 35%;
	}

	.cglw__faqs {
		padding: 45px 0;
	}

	.cglw__faqs__header {
		flex-wrap: wrap;
	}

	.cglw__faqs__link {
		margin: 10px 0 0;
		font-size: 18px;
	}

	.cglw__demo-cta {
		padding: 30px 0;
	}

	.cglw__help {
		padding: 45px 0;
	}

	.cglw__help__heading {
		margin: 0 0 45px!important;
	}

	.cglw__help__col {
		width: 100%;
		max-width: 300px;
		margin: 0 auto 45px;
		padding-bottom: 50px;
	}
}

@media only screen and (max-width: 700px) {
	.cglw__demo-cta__heading, .cglw__demo-cta__btns {
		/*flex-direction: column;*/
		flex-wrap: wrap;
	}

	.cglw .cg-btn.btn--blue {
		/* I added these for the demo button.*/
		/*margin: 5px;*/
	}

	/* Created this separate rule with a more specific selector for the demo button */
	
	.cglw__demo-cta__btns .cg-btn.btn--blue {
		margin: 5px;
	}

}

@media only screen and (max-width: 600px) {

	.cglw {
		font-size: 16px;
	}

	.cglw h2, .cglw .h2 {
		font-size: 25px;
	}

	.cglw h3, .cglw .h3 {
		font-size: 22px;
	}

	.cglw .cg-btn {
		height: 46px;
		line-height: 44px;
		padding: 0 10px;
	}

	.cglw .cg-btn i {
		margin-left: 10px;
	}

	.cglw__hero__inner {
		padding: 30px 15px 0;
	}

	.cglw__hero__logo {
		max-width: 50%!important;
	}

	.cglw__hero__heading {
		font-size: 40px!important;
		margin: 0 0 30px;
	}

	.cglw__hero__copy {
		font-size: 18px;
		margin: 0 0 30px;
	}
	
	.cglw__hero__inner .cg-btn {
		width: calc(50% - 5px);
	}

	.cglw__compare {
		padding: 0 0 45px;
	}

	.cglw__compare__features {
		padding: 0 5px!important;
		font-size: 14px;
		/* For the table alignment I've played around with the margin on this rule at each @media rule */
		/*margin: 44px 0 0!important;*/
		margin: 25px 0 0!important;
	}

	.cglw__compare__top__images, 
	.cglw__compare__products {
		padding: 0 5px 0 0;
	}

	.cglw__compare__top__image,
	.cglw__compare__product {
		width: calc(50% - 1px);
	}

	.cglw__compare__product__heading {
		font-size: 14px!important;
	}

	.cglw__compare__top__copy {
		margin-bottom: 15px;
	}

	.cglw__cwi--alternating__row {
		padding: 0 0 30px;
	}

	.cglw__specs {
		padding: 0;
	}

	.cglw__faqs {
		padding: 0 0 45px;
	}

	.cglw__specs__product__img {
		width: 50%;
	}

	.cglw__specs__product__body__row {
		font-size: 14px;
	}

	.cglw__accordion__header__btn {
		font-size: 16px;
	}

	.cglw__accordion__panel {
		font-size: 14px;
	}

	.cglw__demo-cta {
		/*padding: 0;*/
		/*padding-bottom: 30px;*/
	}

	.cglw__demo-cta__btns .cg-btn {
		margin: 0 2px;
	}

	.cglw__specs__product__heading {
		padding: 30px 5px;
	}

	.cglw__specs__product__body__row p {
		padding: 10px 0 10px 10px;
	}

	.cglw__specs__product__body__row p:nth-child(1) {
		padding: 10px 5px;
	}

	.cglw__help__outro {
		font-size: 14px;
	}

}

@media only screen and (max-width: 450px) {
	.cglw .cg-btn.btn--blue {
		/* I added these for the demo button.*/
		/*width: 100%;*/
	}

	/* Created this separate rule with a more specific selector for the demo button */
	
	.cglw__demo-cta__btns .cg-btn.btn--blue {
		width: 100%;
	}
}

/* Book a demo ribbon */
.bookademoribbon {
    background: #000000;
    border: 1px #000000 solid;
    color: #fff;
    position: relative;
    display: flex;
    align-content: center;
    justify-content: center;
    font-size: 20px;
    padding: 5px 10px
}

.bookademoribbon:hover {
    background: #fff;
    color: #000000;
    position: relative;
    display: flex;
    align-content: center;
    justify-content: center;
}

.bookademoribbon {
    background: #314C89;
    position: relative;
}

.bookademoribbon p {
    
}

.bookademoribbon a {
    position: absolute;
    height: 100%;
    width: 100%;
}

@media only screen and (max-width: 600px) {
    .bookademoribbon {
        font-size: 15px;
        padding: 5px;
    }
}

@media only screen and (max-width: 340px) {
    .bookademoribbon {
        font-size: 15px;
        padding: 5px 55px;
        text-align: center;
    }
}

/* Book a demo spot */

.bookademo {
	position: absolute;
	top: 0;
	right: 0;
	margin: 10px 0;
	background: #314C89;
	z-index: 2;
	color: #ffffff;
	padding: 10px;
	text-decoration: none;
}

.bookademo:hover {
	border: 1px #314C89 solid;
	background: transparent;
	color: #314C89;
}
.bookademo.notmobile {
	display: block;
}

.bookademo.mobile {
	display: none;
}

@media only screen and (max-width: 850px) {
	.bookademo {
		bottom: 0;
		top: unset;
		margin: 0 30px 0 0;
	}
	.bookademo.notmobile {
		display: none;
}
	.bookademo.mobile {
		display: block;
	}
}

@media only screen and (max-width: 600px) {
	.bookademo {
		margin: 0 15px 0 0
	}
}

@media only screen and (max-width: 390px) {
	.bookademo {
		margin: 0;
	}
	
	.bookademo.mobile {
		display: none;
	}
	
	.bookademo.notmobile {
		/*display: block;*/
		right: unset;
	}
}




