/* first, killers */
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

textarea, input, button { outline: none; }

/* next, mods */

html, body {
	font-family: 'Metrophobic', 'Helvetica-Neue', 'Open Sans', sans-serif;
	font-size: 18px;
	line-height: 1.25em;
	box-sizing: border-box;
}

body {
	background-color: #40DED6;
	background-image: url('/public/gfx/background_Explosion-Of-Light.jpg');
	background-position: cover;
	background-size: 100%;
	background-repeat: no-repeat;
	background-attachment: fixed;
	color: #082F53;
}

/** fix ios background-size: cover **/
body:after {
	content:"";
	position:fixed; /* stretch a fixed position to the whole screen */
	top:0;
	height:100vh; /* fix for mobile browser address bar appearing disappearing */
	left:0;
	right:0;
	z-index:-1; /* needed to keep in the background */
	background: url('/public/gfx/background_Explosion-Of-Light.jpg') center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Archivo Black', 'Helvetica-NeueBold', 'Arial Black', sans-serif;
  text-transform: uppercase;
  color: #114877;
}

h1, h2, strong {
	font-weight: 900;
}

/*
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
a {
  color: #17B1A1;
}
*/

h1.big {
	font-size: 36px;
	text-align: center;
	color: #fff;
	font-style: italic;
	font-weight: 100;
}

h2 {
}

h2.big {
	font-size: 26px;
	text-align: center;
	color: #fff;
	font-style: italic;
	font-weight: 100;
}

.header-divider {
	margin: 2em auto;
}

.header-divider h1 {
	font-size: 2.6em;
	text-align: center;
	color: #336666;
	line-height: 1.05em;
	/*
	color: #E5F1C0;
	text-shadow: 0 0 6px #114877
		, 0 0 10px #114877
		, 0 0 2px #114877
		;
	text-shadow: 0 0 6px rgba(51, 102, 102, 0.85)
		, 0 0 10px rgba(51, 102, 102, 0.85)
		, 0 0 2px rgba(51, 102, 102, 0.85)
		;
	*/
	text-shadow: 0 0 6px rgba(255, 255, 255, 0.85)
		, 0 0 10px rgba(255, 255, 255, 0.85)
		, 0 0 14px rgba(255, 255, 255, 0.85)
		, 0 0 4px rgba(255, 255, 255, 0.85)
		, 0 0 2px rgba(255, 255, 255, 0.85)
		;
}

p.history {
	padding: 0 100px;
}

a.history {
	color: #fff;
}

.history h2.big {
	color: #E0EEB3;
}

strong {
	color: #578C5B;
	font-weight: bold;
}

em {
	font-style: italic;
}

._flexContainerCentered {
	display: flex;
	align-items: center;
	justify-content: center;
	vertical-align: center;
	align-content: center;
}

._flexFull { 
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	vertical-align: center;
	align-content: center;
}

._flexFullHeight { 
	height: 100%;
	display: flex;
	/*
	align-items: center;
	justify-content: center;
	vertical-align: center;
	align-content: center;
	*/
}

._flex, ._flexContainer { display: flex; }
._flexWrap { flex-wrap: wrap; }
._flexColumns { flex-direction: column; }
._flexRows { flex-direction: row; }
._flexAlignStretch { align-items: stretch; }
._flexAlignStart { align-items: flex-start; }
._flexAlignEnd { align-items: flex-end; }
._flexBetween { justify-content: space-between; }
._flexAround { justify-content: space-around; }
._flex1 { flex: 1;  }
._flex85 { flex: 0.85; }
._flex75 { flex: 0.75; }
._flex65 { flex: 0.65; }
._flex5 { flex: 0.5; }
._flex25 { flex: 0.25; }
._flex35 { flex: 0.35; }

._flexGrow10 { flex-grow:10;  }

select:-webkit-autofill:focus {
	/*border: none !important;*/
	-webkit-text-fill-color: inherit !important;
	-webkit-box-shadow: 0 0 0px 1000px #FFFFFF inset;
	transition: background-color 5000s ease-in-out 0s;
}

.topSection {
	height: 48px;
	border-bottom: 1px solid #3B5F66;
	box-shadow:
		inset 0 -2px 6px rgba(0, 0, 0, 0.25)
		;
	background: rgb(255,255,255);
	background: -moz-linear-gradient(top,  rgb(255,255,255) 0%, rgb(229,229,229) 100%);
	background: -webkit-linear-gradient(top,  rgb(255,255,255) 0%,rgb(229,229,229) 100%);
	background: linear-gradient(to bottom,  rgb(255,255,255) 0%,rgb(229,229,229) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 );
}

.mainContent {
	width: 1024px;
	margin: 0 auto;
	/*
	min-height: 800px;
	background-color: rgba(2, 21, 37, 0.7);
	border-left: 1px solid rgba(2, 21, 37, 1);
	border-right: 1px solid rgba(2, 21, 37, 1);
	box-shadow: -3px 0 3px -3px rgba(255, 255, 255, 0.5),
		3px 0 3px -3px rgba(255, 255, 255, 0.5)
		;
	*/
}

.content-box, .case-study {
	background-color: rgba(238, 245, 245, 0.9);
	box-shadow: 0 0 8px -4px #000;
	padding: 1em;
	margin: 0.6em;
}

.case-study {
	padding: 0;
	width: 100%;
}

.case-study div.case-content {
	padding: 1em;
}

.case-study h1.case-title {
	margin: 0;
	padding: 8px;
	background-color: rgba(9,12,20,0.85);
	border-left: 10px solid #40E1D7;
	color: #fff;
	text-shadow: 6px 6px 5px rgba(0,0,0,0.75);
}

.case-study ul {
	list-style: square outside none;
	margin: 1em 1.5em;
}

.case-study li strong {
	font-family: 'Archivo Black', 'Helvetica-NeueBold', 'Arial Black', sans-serif;
	color: inherit;
}

.case-content h3 {
	margin-top: 1em;
}

.content-box.wide {
	margin: 0.6em auto;
	max-width: 65%;
}

.homeFocusBox {
	min-height: 180px;
}

.caseStudyHome {
	min-height: 0;
	text-align: center;
}

.homeFocusBox .link {
	margin: 4px auto;
	text-align: center;
}

.homeFocusBox .link a {
	text-decoration: none;
	text-transform: uppercase;
	font-family: 'Archivo Black', 'Helvetica-NeueBold', 'Arial Black', sans-serif;
	font-size: 85%;
	display: inline-block;
	border-radius: 4px;
	border: 2px solid #114877;
	padding: 4px 8px;
	background-color: #336666;
	color: #fff;
	text-shadow: 0 0 4px rgba(0,0,0, 0.85);
	box-shadow: 0 0 4px rgba(0,0,0, 0.45);
}

.homeFocusBox .link a:hover {
	background-color: #40E1D7;
	border: 2px solid #336666;
}

.content-box h1 {
	text-align: center;
	margin-bottom: 0.75em;
}


.full-width-container {
	width: 100%;
	margin: 0;
	padding: 20px 0;
	background-color: rgba(10, 17, 31, 0.8);
	box-shadow: 0 -4px 6px -6px rgba(0, 0, 0, 0.85);
	color: #fff;
}

.full-width-container > div {
	width: 800px;
	margin: 0 auto;
}

.full-width-container .content {
	padding: 20px;
}

.full-width-container .content h1 {
	font-size: 2.7em;
	line-height: 0.9em;
	color: #40E1D7;
	margin-bottom: 0.51em;
}

.full-width-container p.callToAction {
	text-align: center;
	font-size: 120%;
	color: #40E1D7;
	font-style: italic;
	font-weight: bold;
	font-family: 'Archivo Black', 'Helvetica-NeueBold', 'Arial Black', sans-serif;
}

.logo-mark img {
	display: block;
	margin: 0.75em auto;
	max-width: 60%;
}



h1.title {

}

h1.title.Microservices {
	font-size: 2.4em;
}

.footer {
	width: 100%;
	padding: 48px 0;
	border-top: 1px solid #fff;
	height: 380px;
	min-height: 380px;

	background: rgb(19,72,70);
	background: -moz-linear-gradient(top,  rgba(19,72,70,1) 0%, rgba(39,144,141,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(19,72,70,1) 0%,rgba(39,144,141,1) 100%);
	background: linear-gradient(to bottom,  rgba(19,72,70,1) 0%,rgba(39,144,141,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#134846', endColorstr='#27908d',GradientType=0 );
}

.footer a, .footer h1, .footer h2 {
	color: #40DFD6;
}

.footer-content {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	height: 360px;
	min-height: 360px;
	display: flex;
	flex-direction: row;
}

.footer-content > div {
	padding: 30px;
	padding-top: 60px;
	color: #fff;
	/*width: 35%;*/
}

.footer-content > div:first-child {
	border-right: 1px solid #40DED6;
	/*width: 30%;*/
}

.footer-logo {
	text-align: center;
	flex: 0.65;
}

.footer-u-logo {
	text-align: center;
	margin: 0 auto;
}

.footer-u-logo.mobile {
	display: none;
}

.footer-company {
	flex: 0.6;
}

.footer-content > div.footer-company {
	padding-left: 80px;
}

.footer-contact {
	flex: 1;
}

.footer-social-links {
	margin: 0 auto;
	text-align: center;
}

.footer-social-links a {
	display: inline-block;
	margin: 0 10px;
	font-size: 24px;
}

.footer-social-links a span {
	font-weight: 900;
}

#KeepInTouchForm {
	margin: 24px auto;
}

#KeepInTouchForm input[type=email] {
	border: 1px solid #40DED6;
	padding: 4px 6px;
	background-color: #444;
	color: #fff;
	width: 200px;
}

#KeepInTouchForm button {
	border: 1px solid #40DED6;
	background-color: #444;
	color: #40DED6;
	padding: 4px 6px;
	cursor: pointer;
}



.tidbits {
	align-items: flex-start;
}

.tidbit {
	margin: 12px 0;
	width: 45%;
	padding: 12px;
	margin-bottom: 0.35em;
	padding-bottom: 24px;
	border-bottom: 1px solid rgba(10, 17, 31, 1);
	/*
	border-bottom-left-radius: 16px;
	border-bottom-right-radius: 16px;
	*/
	display: flex;
	flex-direction: column;
}

.tidbit h1 {
	text-align: center;
	text-transform: uppercase;
	font-size: 1.25em;
	margin-bottom: 0.35em;
	text-shadow: 0 2px 1px #fff;
}

.tidbit p {
	font-size: 90%;
	padding: 0 14px 0;
	text-align: justify;
	margin-bottom: 0;
}




/******* font awesome playing around ********/


i.far, i.fad, i.fas, i.fab {
	/*
	border: 1px solid #ff0000;
	border-radius: 3px;
	*/
	margin: 8px 14px 8px 0;
	padding-top: 0;
	padding-bottom: 0;
}

.fa-luchador {

}

i.fa-user-check,
i.fa-chart-pie,
i.fa-key-skeleton,
i.fa-sync,
i.fa-linux
{
	/*
	margin-bottom: 20px;
	*/
}


.fa-microchip {
	/*
	color: #0000ff;
	*/
}

.horz_rule {
	height: 0;
	border-top: 1px solid #E0EEB3;
}

/******* font awesome playing around END ********/

.homeSectionGroup {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}

.madeWithLove {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	vertical-align: center;
	align-content: center;
	flex-direction: row;
}

.contentFlowButton {
	display: block;
	height: 3em;
	padding: 12px;
	padding-top: 16px;
	color: #fff;
	max-width: 38%;
	width: auto;
	text-decoration: none;

	/*background-color: #93CF99;*/
background: rgb(9,12,20);
background: -moz-linear-gradient(top,  rgba(9,12,20,1) 53%, rgba(58,204,195,1) 100%);
background: -webkit-linear-gradient(top,  rgba(9,12,20,1) 53%,rgba(58,204,195,1) 100%);
background: linear-gradient(to bottom,  rgba(9,12,20,1) 53%,rgba(58,204,195,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#090c14', endColorstr='#3accc3',GradientType=0 );
}

.contentFlowButton:hover span, .contentFlowButton:active span {
	text-shadow: 6px 6px 5px rgba(0,0,0,0.75);
}

.contentFlowButton span {
	font-size: 30px;
	font-family: 'Archivo Black', 'Helvetica-NeueBold', 'Arial Black', sans-serif;
	display: inline-block;
}

.contentFlowButton.next {
	float: right;
	text-align: right;
	border-top-left-radius: 12px;
	border-right: 10px solid #40E1D7;
}

.contentFlowButton.prev {
	float: left;
	text-align: left;
	border-top-right-radius: 12px;
	border-left: 10px solid #40E1D7;
}

.contentFlowButton.next span {
	margin-right: 12px;
	margin-left: 10%;
}

.contentFlowButton.prev span {
	margin-left: 12px;
	margin-right: 10%;
}

.contentFlowButton i.far,
.contentFlowButton i.fad,
.contentFlowButton i.fas,
.contentFlowButton i.fab {
	margin: 0;
	color: #40E1D7;
}


@media only screen and (max-width: 1200px) {
	body {
		background-position: center;
		background-size: 120%;
	}
}

@media only screen and (max-width: 1024px) {
	.mainContent {
		width: 96%;
	}
}

@media only screen and (max-width: 900px) {
	body {
		background-size: 150%;
	}

	.content-box {
		width: 25%;
		height: auto;
		min-height: 0;
		margin-bottom: 0;
	}
	
	.full-width-container > div {
		width: 90%;
	}
	
	.topSection img {
		width: 90%;
		height: auto;
		margin: 0 auto;
		display: block;
	}
	
	.contentFlowButton {
		max-width: 44%;
	}
}

@media only screen and (max-width: 700px) {
	body {
		background-image: url('/public/gfx/background_Explosion-Of-Light_tall.jpg');
		background-size: 120%;
	}

	body:after {
		/*
		background: url('/public/gfx/background_Explosion-Of-Light_tall.jpg') center center;
		*/
	}
	
	.homeSectionGroup {
		display: block;
	}
	
	.madeWithLove {
		display: block;
	}

	.contentFlowButton.prev {
		float: none;
	}

	.contentFlowButton.next {
		margin-top: 1em;
	}

	.contentFlowButton {
		max-width: 64%;
	}
}


@media only screen and (max-width: 580px) {
	.contentFlowButton {
		max-width: 84%;
	}

	.full-width-container .content h1 {
		font-size: 1.8em;
	}

	h1.title.Microservices {
		font-size: 1.6em;
	}
}

@media only screen and (max-width: 520px) {
	.footer {
		padding-top: 24px;
		border-top: 4px solid #40DED6;
		box-shadow: 0 -4px 4px #689C6E;
	}
	
	.footer,
	.footer-content {
		height: auto;
		min-height: auto;
	}
	
	.footer-content.flex {
		display: block;
	}

	.footer-content > div:first-child {
		border-right: none;
	}

	.footer-content > div {
		padding: 24px;
		padding-top: 12px;
		border-bottom: 1px solid #40DED6;
	}
	
	.footer-contact { display: none; }
	.footer-company { width: 90%; margin: 0 auto; }
	
	.footer-u-logo {
		display: none;
	}

	.footer-u-logo.mobile {
		margin: 2em auto 8px;
		display: block;
		max-width: 80%;
	}
	
	.footer-social-links {
		margin: 36px auto 18px;
	}

	.footer-content > div.footer-logo {
		border-bottom: 0;
		display: none;
	}
	
	.footer-content > div.footer-company {
		padding-left: 0;
		text-align: center;
	}

	.content-section {
		width: 96%;
		max-width: 96%;
		margin-left: auto;
		margin-right: auto;
	}

	.content-box, .content-box.wide {
		width: 90%;
		height: auto;
		margin-left: auto;
		margin-right: auto;
		min-height: 0;
		margin-bottom: 0;
	}

	.tidbits {
		margin-bottom: 36px;
	}
	
	p.history {
		padding: 0 28px;
	}

}
