html  {
	font-family: 'Open Sans', sans-serif;
	color: #555;
	//padding: 0 0;
    font-size: 16px;
	box-sizing: border-box;
}

* {
	box-sizing: border-box;
}

a, a:link, a:visited, a:hover, a:active {
	text-decoration:none;
}

@font-face {
    font-family: 'hammer_fatregular';
    src: url('../fonts/hammer_fat/hammer_fat_regular-webfont.woff2') format('woff2'),
         url('../fonts/hammer_fat/hammer_fat_regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

.banner  {
	position:fixed;
	top: 0px;
	background: #8ad1c9;
	width: 100%;
	height: 66px;
	//min-width: 320px;
	z-index:1000;
	font-family: 'hammer_fatregular', sans-serif;
	background-image: url("../img/headerbackground.png");
	background-repeat: repeat-x;
	background-size: 50%;

     //   -10px 5px 30px -10px rgba(0,0,0,0.5);
	//	10px 5px 30px 10px rgba(0,0,0,0.5);
		box-shadow: 0px -18px 6px 19px rgba(34,34,34,.65);
 
}


.banner_title a  {
	position:relative;
	top:-2px;
	left:30px;
	color:white;
	font-size: 32px;
	padding-top: 0px;
	width: 350px;
}

.banner_spacer  {
	position:relative;
	width:100%;
	display:block;
	height: 65px;
	//background:blue;
}

.content  {
	position:relative;
	max-width: 1112px;
	margin: 20px 80px;
	padding: 0px 0px;
	//background: red;
}

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


.banner_subtitle a {
	position:relative;
	left:30px;
	width: 350px;
	color:white;
	font-size: 1em;
	top:-9px;
}



.banner_nav  {
	right:0px;
	top:9px;
	color:white;
	font-size: 22px;
	position: absolute;
	width:350px;

	text-align: center;
}


.banner_nav_item   {
    cursor: pointer;
    //transition: 0.3s;
    //font-size: .9em;
	//margin: auto 10px;
	//background: #222;
	display: inline-block;
	//vertical-align: middle;
	//width:30%;
}



.banner_nav_item a  {
	display: inline-block;
	//background: blue;
	padding: 10px 10px 4px 10px;
	text-decoration:none;
	color: #fff;
	font-size: .9em;
}

.banner_nav_item a:hover  {
	//font-size: 30px;
	color: orange;
}

.masthead  {
	position:relative;
	background: #8ad1c9;
	background-image: url("../img/headerbackground.png");
	background-repeat: repeat-x;
	background-position:  bottom; 
	background-position-x: 0px;
	width: 100%;
	height: 280px;
	//min-width: 400px;
	font-family: 'hammer_fatregular', sans-serif;
	padding: 30px 83px;
	color: #fff;
}

.masthead_title  {
	//position:relative;
	font-size: 77px;
	//background: orange;
		}

.masthead_subtitle  {
	color:white;
	font-size: 25px;
	margin-top: -5px;
	//background: purple
}


.masthead_nav  {
	margin-top: 20px;
	border-top: 1px solid white;
	width: 500px;
	padding-top:13px;
	//background: pink
}

.masthead_nav_item   {
    cursor: pointer;
    transition: 0.3s;
    //font-size: 18px;
	//margin: auto 10px;
	//background: #222;
	display: inline-block;
	vertical-align: middle;
}

.masthead_nav_item a  {
	font-size: 20px;
	display: inline-block;
	margin-right: 100px;
	text-decoration:none;
	color: #fff;
	border-bottom:  8px solid transparent;
}

.masthead_nav_item a:hover  {
	//font-size: 30px;
	color: orange;
}




.gray_background  {
	margin: 80px 0 30px 0;
	padding:50px 0;
	background-color: #ddd;
	background-image: url("../img/242small.jpg");
    background-repeat: repeat;
    background-size: 104px auto;
	background-attachment: fixed;
	float:none;
	text-align: center;
	box-shadow: 
        inset 0px 11px 30px -10px rgba(0,0,0,0.5),
    	inset 0px -11px 30px -10px rgba(0,0,0,0.5);
}

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


.white_background  {
	background: #fff;
	width:100%;
	//height:300px;
	padding: 0;
}

	
.tile-grid-container {
	  display: grid;
	  grid-template-columns: auto auto auto;
	  grid-column-gap: 8%;
	  grid-row-gap: 60px;
	  //background: yellow;
}







.tile-grid-item {
	position:relative;
	background-color: #fff;
	background-size: auto 400px;
	background-position: center;
	background-repeat: no-repeat;
	//border: 1px solid rgba(0, 0, 0, 0.8);
	//padding: 20px;
	font-size: 30px;
	text-align: center;
	height:400px;
	box-shadow: 0px 0px 13px 0px rgba(0,0,0,0.5);
	//box-sizing: border-box;
}

.tile-title {
	box-sizing: border-box;
	position:absolute;
	bottom: 0px;
	background-color: #fff;
	opacity: .8;
	width: 100%;
	//line-height: 15px;
	//border: 1px solid rgba(0, 0, 0, 0.8);
	padding: 10px;
	font-size: .6em;
	text-align: center;
	text-decoration: none;
	//height:400px;
}



.content_title_area {
  //background: #ccc;
  //border: 1px solid rgba(0, 0, 0, 0.8);
  //padding: 20px;
  //font-size: 1.6em;
  text-align: left;
  //height:400px;
  position:relative;
  margin: 45px 0px;
}


iframe {
    aspect-ratio: 16 / 9;
    width: 100% !important;
}


h1  {
	font-size: 2.4em;
	margin: 0 0;
	font-weight: lighter;
}

h2  {
	font-size: 1.7em;
	margin: 0 0;
	//font-weight: lighter;
}

h3  {
	font-size: 1.5em;
	margin: 0px 0 20px 0;
	font-weight: lighter;
}

h4  {
	font-size: 1.25em;
	margin: 0px 0 0px 0;
	font-weight: lighter;
}

ul {
	//background:blue;
	padding: 0 0;
}

li  {
	//background:blue;
	margin:0 0 10px 20px;
	//padding-left:20px;
	list-style-position: outside;
}

@media only screen and  (max-width: 1000px)   {
	h1  {
		font-size: 2.0em;
		margin: 0 0;
		font-weight: lighter;
	}

	h2  {
		font-size: 1.5em;
		margin: 0 0;
		//font-weight: lighter;
	}

	h3  {
		font-size: 1.3em;
		margin: 8px 0 20px 0;
		font-weight: lighter;
	}

	h4  {
		font-size: 1.25em;
		margin: 0px 0 0px 0;
		font-weight: lighter;
	}

	ul {
		//background:blue;
		padding: 0 0;
	}

	li  {
		//background:blue;
		margin:0 0 10px 20px;
		//padding-left:20px;
		list-style-position: outside;
	}	
		
}


.back_carrot  {
	position: absolute;
	left: -70px;
	top: 8px;
	height:40px;
	width:40px;
}

.back_carrot:hover  {
	background: #eee;
}


@media only screen and  (max-width: 1150px)   {
	.back_carrot  {
		position: absolute;
		left: -45px;
		top: 8px;
		height:40px;
		width:40px;
		//background: blue;
	}
}

.details_grid {
  display: grid;
  grid-template-columns: auto 340px;
  grid-gap: 35px;
  //width: 100%;
  //padding: 60px 84px;
  margin: 40px auto;
  //background:yellow;
}

@media only screen and  (max-width: 1000px)   {
	.details_grid {
	    grid-template-columns: auto 240px;
		grid-gap: 35px;
	  //background: blue;
	}
}

@media only screen and  (max-width: 800px)   {
	.details_grid {
	  grid-template-columns: auto;
	  //background: blue;
	}
}

.challenge
{
	//border-right: 1px solid #ccc;
	padding-right: 10px;
	//background:  red;
}

@media only screen and  (min-width: 800px)   {
	.challenge {
	  	//border-right: 1px solid #ccc;
		//padding-right: 50px;
		//border-right: 1px solid #ccc;
	}
}

.downloads_area h4 {
	color: #000000;
	font-weight: bold;
}

.downloads_area p {
	color: #000000;
}

.downloads_area ul {
	color: #000000;
	padding: 0px;
	margin: 0px;
}

.downloads_area li {
	color: #000000;
	padding: 0px;
	margin: 8px 0px;
}

.downloads_area  {
	background-color: #cccccc;
    padding: 20px 20px 20px 20px;
	//margin: 60px 0;
	//padding: 0 0 0 30px ;
	//width: 66%;
	//border-left: 1px solid #ccc;
	//float: left;
	//grid-column: 1 / 2;
	//font-weight: lighter;
	//background:  blue;
}

.process{
	position: relative;
	//top: 60px;
	min-height:300px;
	padding: 10px 0 0 0;
} 
.process_background{
	position: absolute;
	width: 100%;
	top:0px;
	//background:yellow;
	background-image: url("../img/process-background-arrows-enhanced2.png");
	background-repeat:no-repeat;
    background-size: calc(100%) auto;
	background-position: 0 calc(51% - 20px);
	height:350px;
	overflow: hidden;
	padding: 0px 0 0 0;
}

/*
.process{
	position: relative;
	min-height:300px;
	padding: 10px 0 0 0;
} 
.process_background{
	position: absolute;
	width: 100%;
	top:0px;
	//background:yellow;
	background-image: url("../img/process-background-arrows-enhanced2.png");
	background-repeat:no-repeat;
    background-size: calc(100%) auto;
	background-position: 0 calc(51% - 20px);
	height:300px;
	overflow: hidden;
	padding: 0px 0 0 0;
}
*/



.process_grid {
  display: grid;
  position:relative;
  grid-template-columns: 22.4% 22.4% 22.4% 22.4%;
  grid-gap: 3%;
  margin: 120px auto 0px auto;
  //background:yellow;
}

.process_grid_item.title {
	//text-align: center;
	//color: #fff;
	//margin-top:40px;
	line-height: 50px;
	//background:  blue;
	//opacity: .3;
	margin-left:7px;
}

.process_grid_item h2 {
	text-align: center;
	color: #fff;
	//margin-top:40px;
	//background:  blue;
}

.process_h2{
	position: absolute;
	top: 0px;
	//color: #fff;
	margin-top:23px;
}

.process_grid_item ul{
	//text-align: center;
	//color: #fff;
	margin: 35px 10px 0px 10px;
	//background:  yellow;
}

@media only screen and  (min-width: 1000px)   {
	.process_grid_item h2  {
		font-size: 1.7em;
		margin: 0;
		font-weight: lighter;
	}
}
@media only screen and  (max-width: 1000px)   {
	.process_grid_item h2  {
		font-size: 1.5em;
		margin: 0;
		font-weight: lighter;
	}
	
	.process_h2{
		position: absolute;
		top: 0px;
		//color: #fff;
		margin-top:20px;
	}
}

@media only screen and  (max-width: 930px)   {
	.process_grid_item h2  {
		font-size: 1.2em;
		margin: 0;
		font-weight: lighter;
	}
	
	.process_grid_item ul{
		margin: 26px 10px 50px 10px;
		//background:  yellow;
	}
	
	.process_h2{
		position: absolute;
		top: 0px;
		//color: #fff;
		margin-top:25px;
	}

}

@media only screen and  (max-width: 820px)   {
	.process_grid_item h2  {
		font-size: 1.0em;
		margin: 0;
		font-weight: lighter;
	}
	
	.process_grid_item ul{
		//text-align: center;
		//color: #fff;
		margin: 35px 10px 50px 10px;
		font-size: .8em;
		//background:  blue;
	}
	
	.process_grid_item ul{
		margin: 20px 10px 50px 10px;
		//background:  yellow;
	}
	
	.process_h2{
		position: absolute;
		top: 0px;
		//color: #fff;
		margin-top:25px;
	}
}

@media only screen and  (max-width: 630px)   {
	.process_grid_item h2  {
		font-size: .8em;
		margin: 0;
		font-weight: lighter;
	}
	
	.process_grid_item ul{
		//text-align: center;
		//color: #fff;
		margin: 35px 10px 50px 10px;
		font-size: .8em;
		//background:  blue;
	}
	
	.process_grid_item ul{
		margin: 20px 10px 50px 10px;
		//background:  yellow;
	}
	
	.process_h2{
		position: absolute;
		top: 0px;
		//color: #fff;
		margin-top:30px;
	}
}



.insight_tabs_container  {
	display: flex;
	//height: 50px;
	width: 100%;
	//background-color: #ccc;
	position:relative;
	  align-items: center;
  justify-content: center;
}

.insight_tab  {
	display:table;
	width: 33%;
	margin: auto;
	padding: 0 30px 0 0;
	font-size: 1em;
	position:relative;
	height:60px;
	//background-color: blue;
}


.insight_tab.selected {
	font-weight: bold;
	font-size: 1.2em;
	//background-color:blue;
}

.insight_tab .tab-box  {
	//background-image: url("../img/insight_tab_selected.png");
	//background-repeat: no-repeat;
	//opacity: .8;
	height: 72px;
	width: 85px;
	position: absolute;
	top: 0;
	left: 0;
	color: white;
}
	
.insight_tab.selected .tab-box  {
	background-image: url("../img/insight_tab_selected.png");
	background-repeat: no-repeat;
	opacity: .7;
	height: 72px;
	width: 85px;
	position: absolute;
	top: 0;
	left: 0;
	color: white;
}

.insight_tab:not(.selected):hover .tab-box {
	opacity: 1;
	//background-color: blue;
}

.insight_tab:not(.selected):hover p,
 .insight_tab:not(.selected):hover .tab-box-number {
	color: #3597ff;
	//background-color: red;
}
	
.insight_tab .tab-box-number  {
	//background-image: url("../img/insight_icon_large.png");
	//background-repeat: no-repeat;
	//background-size: 25px 29px;
	opacity: 1;
	height: 36px;
	width: 30px;
	position: absolute;
	top: 9px;
	left: 15px;
	//background-color:blue;
	color:#777;
	font-size: 30px;
	text-align: center;
}	

.insight_tab.selected .tab-box-number  {
	//background-image: url("../img/insight_icon_large.png");
	//background-repeat: no-repeat;
	//background-size: 30px 36px;
	opacity: 1;
	height: 36px;
	width: 30px;
	position: absolute;
	top: 9px;
	left: 15px;
	//background-color:blue;
	color:white;
	font-size: 1.5em;
	text-align: center;
}


.insight_tab p {
	display: table-cell;
    vertical-align: middle;
	z-index: 10;	
	position: relative;
	padding-left: 58px;
	color:#555;
}

.insight_tab.selected p {
	padding-left: 58px;
}

.eyebrow {
	font-size: .6em;
}

.insight_card  {
	display: flex;
	//flex-flow: row wrap;
	align-items: stretch;
	background-color: #fff;
	width: 100%;
	min-height: 600px;
	//max-height: 650px;
	box-shadow: 0px 0px 13px 0px rgba(0,0,0,0.5);
	margin: 34px 0;
}

.problem_card  {
	min-width: 282px;
	width: 282px;
	//min-height: 552px;
	padding: 20px 24px;
	background-color: #def2f0;
}

.solution_card  {
	width: auto;
	min-width:300px;
	max-width: 718px;
	//max-height: 650px;
	padding: 20px 40px;
	//overflow-y: scroll;
	position:relative;
}

.solution_card img {
	max-width:100%;
	max-height: 400px;
	height:auto;
	width:auto;
}


@media only screen and  (max-width: 820px)   {
	.insight_card  {
		flex-flow: row wrap;
		align-items: stretch;
		//background-color:blue;
	}
	
	.problem_card  {
		width: auto;
		padding-bottom:44px;
		//background-color:blue;
	}
}


.insight_card_title{
	font-size: .8em;
	opacity: .6;
	font-weight:bold;
}

.blockquote{
	position:relative;
	//font-size: 2em;	
	//background-color: #fff;
}

.quotation  {
	position:relative;
	font-size: 1.7em;
	z-index: 10;
	//background: blue;
	//font-family: 'Droid Serif', serif;
	font-weight: 100;
}
.big-quote {
	font-family: 'Droid Serif', serif;
	font-size: 9em;
	Position: absolute;
	//color: #eae0b4;
	//color: #ccc;
	color: #8ad1c9;
	top: 44px;
	left: -45px;
	z-index: 0;	
	line-height: 0;
}

.work_samples img {
	max-width:100%;
	max-height: 600px;
	height:auto;
	width:auto;
}


hr {
    overflow: visible; /* For IE */
    margin: 100px 250px;
	border: none;
    border-top: medium double;
    text-align: center;
	border-color: #999;
}

.metrics-dashboard {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin: 40px 0;
}

.metric-card {
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 20px 30px;
    flex: 1 1 200px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    text-align: center;
}

.metric-card h2 {
    font-size: 2.5em;
    margin: 0 0 10px;
    color: #2c3e50;
}

.metric-card p {
    margin: 0;
    font-size: 1em;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 1px;
}



/* Style for the Download button */
.download-button {
    background-color: #3498db; /* Blue color (light blue) */
    color: white;              /* White text color */
    font-size: 18px;           /* Larger text size for better visibility */
    padding: 15px 30px;        /* Extra padding for a bigger button */
    border: none;              /* Remove default border */
    border-radius: 8px;        /* Rounded corners */
    cursor: pointer;          /* Change cursor to pointer on hover */
    transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease; /* Smooth transitions */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Subtle shadow for 3D effect */
    text-transform: uppercase; /* Uppercase text for emphasis */
    font-weight: bold;         /* Bold text */
}

.download-button:hover {
    background-color: #2980b9; /* Darker blue on hover */
    transform: scale(1.05); /* Slightly enlarge the button */
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3); /* Stronger shadow on hover */
}

.download-button-anchor {
    text-decoration: none; /* Remove the underline from the anchor tag */
}


.visitors-panel {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}

.tabs {
  display: flex;
  flex-direction: column;
  border: 1px solid #ccc;
  border-radius: 8px;
  overflow: hidden;
  background: #f9f9f9;
  min-width: 140px;
}

.tabs button {
  background: none;
  border: none;
  padding: 12px 16px;
  text-align: left;
  width: 100%;
  font-size: 14px;
  cursor: pointer;
  border-bottom: 1px solid #ddd;
  transition: background 0.2s;
}

.tabs button:hover {
  background: #e6f2ff;
}

.tabs button.active {
  background: #cce4ff;
  font-weight: bold;
}

#visitorsChart {
  flex: 1;
  min-width: 300px;
  max-width: 100%;
}