/*  

	copyright 2021 RGB Partners LLC

*/

body {
	background: #fefefe;
	font-family: "Roboto";
}

a:link, a:active, a:visited {
	color: blue;
	text-transform: underline;
}

a[href^="tel:"]:before {
	content: "\2706";
	margin-right: 0.5em;
}

a[href^="mailto:"]:before {
	content: "\1F4E7";
	margin-right: 0.5em;
}

a:hover {
	color: #FF0000;
	text-transform: none;
}

/* ###  HEADER  ### */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    color: #000;
	background: #fefefe;
    z-index: 1;
    overflow: hidden;
    -webkit-transition: height 0.3s;
    -moz-transition: height 0.3s;
    transition: height 0.3s;
    text-align:center;
}

.breadcrumb {
	position: fixed;
	top: 70px;
	left: 10px;
    z-index: 9;
    -webkit-transition: all 0.6s;
    -moz-transition: all 0.6s;
    transition: all 0.6s;
}

.breadcrumb.shrink {
	position: fixed;
	top: 34px;
	left: 10px;
    z-index: 9;
    -webkit-transition: all 0.6s;
    -moz-transition: all 0.6s;
    transition: all 0.6s;
}

.header h1 {
	font-size:50px;
    font-weight:normal;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
	margin:0 auto;
}

.header.shrink h1 {
    font-size:20px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.header img {
	margin: 0 auto;
	height: 50px;
	vertical-align: center;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.header.shrink img {
	margin: auto auto;
	height: 20px;
	vertical-align: center;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.wrapper {
	max-width: 1020px;
	position: relative;
	margin: 70px auto 30px auto;
}

.clear {
	clear: both;
}



/* ###  SECTION  ### */
.section {
	padding: 5px 5px 15px 5px;
}
	
.section h1 {
	font-size: 30px;
	text-align: center;
	font-family: "Oswald", sans-serif;
}
	
.section h2 {
	font-size: 20px;
	text-align: center;
	margin-top:10px;
}

.section h3 {
	font-size: 15px;
	font-weight: bold;
}

.section h4 {
	font-size: 20px;
	font-weight: bold;
}
	
.sectitle {
	font-weight: bold;
	font-style: normal;
	overflow-wrap: anywhere;
}

.secleft {
	float: left;
	width: 150px;
	text-align: right;
}

.secright {
	text-align: left;
	padding-left: 15px;
	margin-left: 150px;
}

.secborder {
	outline: 1px solid black;
	border-radius: 5px;
	padding: 5px;
	margin: 5px 5px 15px 5px;
}

.secbordergrey {
	outline: 1px solid #ccc;
	border-radius: 5px;
	padding: 5px;
	margin: 5px 5px 15px 5px;
}

.secgrey {
	background:#d9d9d9;
}

/*.indexouterbox {
	width: 100%;
}

.indexouterboxleft {
	float: left;
	width: 67%;
}

.indexouterboxright {
	float: right;
	width: 33%;
	padding: 5px;
}

.indexinnerboxleft {
	float: left;
	width: 50%;
	padding: 5px;
}

.indexinnerboxright {
	float: right;
	width: 50%;
	padding: 5px;
}

.cardbox {
	outline: 1px solid black;
	border-radius: 5px;
	padding: 5px;
	height: 150px;
}
*/
.urgentProjectBox {
	outline: 1px solid black;
	border-radius: 5px;
	padding: 5px;
	margin: 0 0 15px 0;
}

.urgentID {
	width: 30px;
}

.urgentUpdated {
	width: 80px;
}

.urgentAge {
	width: 80px;
}

.urgentDescription {
	width: 40%;
}

.bold {
	font-weight: bold;
}

.padtop {
	padding-top: 15px;
}

.padbot {
	padding-bottom: 15px;
}

.marginleft150 {
	margin-left: 150 px;
}

.workersignleft {
	float: left;
}

.workersignright {
	margin-left: 300px;
}

.outline {
	border: 1px solid black;
	border-radius: 5px;
	background: #F8F8F8;
}

.title {
	font-weight: bold;
	font-style: normal;
	overflow-wrap: anywhere;
}

.seclefthead {
	float: left;
	width: 150px;
	text-align: right;
	
}

.secrighthead {
	margin-left: 150px;
	padding-left: 15px;
	text-align: left;
}

.teamleft {
	float: left;
	width: 50%;
	text-align: left;
	padding-bottom: 20px;
}

.teamright {
	float: right;
	text-align: left;
	width: 50%;
	padding-bottom: 20px;
}

.searchleft {
	float: left;
	/* width: 50%; */
	text-align: left;
	padding-bottom: 10px;
}

.searchright {
	float: right;
	text-align: right;
	/* width: 50%; */
	padding-bottom: 10px;
}

.searchdlleft {
	float: left;
}

.searchdlright {
	float: right;
}

.teamemail {
	float:left;
	width:50%;
	text-align:left;
}

.teamphone {
	float:right;
	width:50%;
	text-align:left;
}

.teamoptionsleft {
	float:left;
	width:70%;
	text-align:left;
}

.teamoptionsright {
	float:right;
	width:30%;
	text-align:right;
}

.inline-form form {
    display: inline-block;
	padding-left:10px;
}

.multi-filter {
	display: flex;
	flex-direction: row;
}

.googleiframe {
	height: 810px;
	border: 1px solid black;
	border-radius: 5px;
	padding: 5px 0 5px 0;
	background: #ccc;
}

.timesheetsort2 {
	width:120px;
	display:inline-block;
	vertical-align:top;	
}

.timesheethours {
	width:60px;
	display:inline-block;
	vertical-align:top;
	font-weight:bold;
}

.timesheetdescription {
	width:calc(100% - 200px);
	display:inline-block;
	font-style:italic;
	vertical-align:top;
}





/* ###  TABLE  ### */
table { 
	width: 100%; 
	border-collapse: collapse; 
	/* margin:0px auto; */
}

/* Zebra striping */
tr:nth-of-type(odd) { 
	background: #eee; 
	border: 1px solid #ccc; 
}

th { 
	background: white; 
	/* color: white;  */
	font-weight: bold; 
	text-align: center;
}

td, th { 
	/* padding: 10px;  */
	padding: 2px;
	border: 1px solid #ccc; 
	text-align: center; 
	vertical-align: top;
	font-size: 10pt;
	white-space: pre;           /* CSS 2.0 */
	white-space: pre-wrap;      /* CSS 2.1 */
	white-space: pre-line;      /* CSS 3.0 */
	white-space: -pre-wrap;     /* Opera 4-6 */
	white-space: -o-pre-wrap;   /* Opera 7 */
	white-space: -moz-pre-wrap; /* Mozilla */
	white-space: -hp-pre-wrap;  /* HP Printers */
	word-wrap: break-word;      /* IE 5+ */
}

/* ###  OTHER ELEMENTS  ### */
.footer {
	width: 100%;
	text-align: center;
}
	
ul {
	list-style-type: none;
	padding: 0;
}

li {
	padding: 0;
	display: inline;
}

textarea {
	width: 100%;
	height: 100%;
	/* height: 300px; */
}

.taskNewTextAreaContainer {
	height: 300px;
}

.taskEditContainer {
	height: 200px;
	display: block;
	padding: 10px;
}

.photoEditContainer {
	float:left;
	width: 100%;
	height: 100px;
	display: block;
	padding: 5px;
}

.photoEditContainerRight {
	margin-left: 830px;
	text-align: center;
}

input[type=button], input[type=submit], input[type=date], .button {
	min-width:65px;
}

input[type=text], textarea, input[type=button], input[type=submit], input[type=date], .button, select {
	border: 1px solid #ccc;
	border-radius:5px;
}

select {
	min-height:28px;
}

textarea {
	font-family: "Roboto Mono", monospace;
	font-size:0.8em;
	min-height:50px;
}

.spinleft {
	float: left;
}
.spinright {
	margin-left: 14px;
}
.button--loading::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	top: 55px;
	left: 5px;
	right: 0;
	bottom: 0;
	margin: 0;
	border: 4px solid transparent;
	border-top-color: #999999;
	border-radius: 50%;
	animation: button-loading-spinner 1s ease infinite;
}
@keyframes button-loading-spinner {
	from {
		transform: rotate(0turn);
	}

	to {
		transform: rotate(1turn);
	}
}


/* ###  SUPER'S LOG  ### */
.dlphotorow {
	/* width:100%; */
	border: 1px solid #ccc;
	border-radius:5px;
	padding:5px;
	margin-bottom:15px;
}
.dlphotobox {
	float:left;
}
.dlphotocaption {
	margin-left: 320px;
}
.dlphotoblock {
	display:inline-block; 
	/* width:calc((100% - 30px) / 2); */
	width:100%;
	height:100%;
	border: 1px solid #ccc;
	border-radius:5px;
	/* margin:5px; */
}
.dlphotoblockphoto {
	float:left;
	display:block; 
	width:310px;
	padding: 5px;
	/* text-align: center; */
}
.dlcaptionblock {
	font-size:0.8em;
	/* display:inline-block; */
	/* margin-left:330px; */
	float:right;
	vertical-align:top;
	min-height:50px;
	/* width:100%; */
	width:calc(100% - 310px);
	padding: 5px;
}

.sigimg img {
	max-width:100%;
	max-height:100%;
}

.signsigimg img {
	max-width:125px;
	max-height: 40px;
}

/* ###  PHOTOS  ### */
.thumbs {
	display: inline-block;
	padding: 3px;
}

.thumbcontainer {
	margin: auto;
	display: inline-block;
}

.photocaption textarea {
	width: 100%;
	height: 50px;
}


/* ###  LOGON FORM  ### */
.login-form {
	width: 340px;
	margin: 50px auto;
	font-size: 15px;
}

.login-form form {
	margin-bottom: 15px;
	background: #f7f7f7;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
	padding: 30px;
}

.login-form h2 {
	margin: 0 0 15px;
}

.form-control, .btn {
	min-height: 38px;
	border-radius: 2px;
}

.btn {        
	font-size: 15px;
	font-weight: bold;
}

/* ###  TOGGLE SWITCH  ### */
.onoffswitch {
    position: relative;
    width: 40px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    top: 0px;
    left: 0px;
    margin: 10px;
}

.onoffswitch-checkbox {
    display: none;
}

.onoffswitch-label {
    display: block;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid #999999;
    border-radius: 20px;
}

.onoffswitch-inner {
    width: 200%;
    margin-left: -100%;
    -moz-transition: margin 0.2s ease-in 0s;
    -webkit-transition: margin 0.2s ease-in 0s;
    -o-transition: margin 0.2s ease-in 0s;
    transition: margin 0.2s ease-in 0s;
}

.onoffswitch-inner:before,
.onoffswitch-inner:after {
    float: left;
    width: 50%;
    height: 5px;
    padding: 0;
    line-height: 5px;
    font-size: 14px;
    color: white;
    font-family: Trebuchet, Arial, sans-serif;
    font-weight: bold;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.onoffswitch-inner:before {
    content: "";
    padding-left: 10px;
    background-color: blue; /* THIS IS THE COLOR OF THE "ON" BACKGROUND */
    color: #FFFFFF;
}

.onoffswitch-inner:after {
    content: "";
    padding-right: 10px;
    background-color: #EEEEEE;
    color: #999999;
    text-align: right;
}

.onoffswitch-switch {
    width: 15px;
    margin: -5px;
    background: #FFFFFF;
    border: 2px solid #999999;
    border-radius: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 31px;
    -moz-transition: all 0.2s ease-in 0s;
    -webkit-transition: all 0.2s ease-in 0s;
    -o-transition: all 0.2s ease-in 0s;
    transition: all 0.2s ease-in 0s;
}

.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
    margin-left: 0;
}

.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
    right: 0px;
}

.switchleft {
	float: left;
	width:80px;
}

.switchright {
	margin-left: 80px;
	text-align: left;
}

/* ###  SITE LOG PHOTOS  ### */

.sitelogwrapper {
	border: 1px solid black;
	border-radius: 5px;
	width: 100%;
}

.sitelogboxheader {
	width: 100%;
	font-weight: bold;
	background: #F8F8F8;
	border-radius: 5px;
}

.sitelogboxcontainer {
	width: 100%;
	display: block;
	border-top: 1px solid #ccc;
}

.sitelogphoto {
	padding: 10px;
	width: 120px;
	float: left;
}

.sitelogcaption {
	padding: 10px;
	margin-left: 120px;
	height: 100%;
}	



/* ###  NEW TABLE CSS  ### */
.div-table {
	display: table;
	width: 100%;
	font-size: 0.8em;
	/* border-left: 1px solid #ccc; */
	/* border-bottom: 1px solid #ccc; */
	border-right: 1px solid #ccc;
	border-top: 1px solid #ccc;
}

.div-table-row-header {
	display: table-row;
	font-weight: bold;
	text-align: center;
}

.div-table-row {
	display: table-row;
}

.div-table-row:nth-of-type(even) { 
	background: #eee; 
	/* border: 1px solid #ccc;  */
}

.div-table-col {
	display: table-cell;
	padding: 3px;
	/* border-right: 1px solid #ccc; */
	/* border-top: 1px solid #ccc; */
	border-left: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

.left {
	text-align: left;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.red {
	background: rgba(255, 0, 0, 0.5);
	font-weight: bold;
}

.yellow {
	background: rgba(255, 255, 0, 0.8);
	font-weight: bold;
}

.truncate{
	display: block;
	max-width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.date-col {
	width: 80px;
}

.description-col {
	min-width: 500px;
}

.files-col {
	max-width: 400px;
	word-wrap: break-word;      /* IE 5+ */
}

.files-col {
	max-width: 350px;
	word-wrap: break-word;      /* IE 5+ */
}

.whitespace {
	white-space: pre;           /* CSS 2.0 */
	white-space: pre-wrap;      /* CSS 2.1 */
	white-space: pre-line;      /* CSS 3.0 */
	white-space: -pre-wrap;     /* Opera 4-6 */
	white-space: -o-pre-wrap;   /* Opera 7 */
	white-space: -moz-pre-wrap; /* Mozilla */
	white-space: -hp-pre-wrap;  /* HP Printers */
}



/* ###  BAR CHART  ### */
#barchart {
	border: 2px solid white;
	display: grid;
	overflow: hidden;
	width: 98%;
	/* grid-template-columns: 1fr 1fr 1fr 1fr; */
}

#barchart div {
	color: white;
	font-family: monospace;
	font-weight: bold;
	font-size: 0.8em;
	/* line-height: 20px; */
	display: flex;
	align-items: center;
	justify-content: center;
	/* min-width: 10px; */
	padding: 0 5px;
	border-radius: 10px;
	margin: 0 1px;
}

#critical {
	background: #e53e3e;
}

#urgent {
	background: #ecc94b;
}

#recent {
	background: #ed8936;
}

#closed {
	background: #48bb78;
}

#whitebar {
	background: #ffffff;
}

/* ###  MOBILE DEVICES  ### */
@media only screen and (max-width: 629px) {

	.wrapper {
		margin: 105px auto 30px auto;
	}

	/* ###  NEW TABLE CSS  ### */
	.div-table, .div-table-row-header, .div-table-row, .div-table-col { 
		display: block; 
	}
	
	.div-table {
		border: none;
	}

	/* Hide table headers (but not display: none;, for accessibility) */
	.div-table-row-header { 
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	
	.div-table-row { 
		border: none;
		border-left: 1px solid #ccc; 
		border-right: 1px solid #ccc; 
	}
	
	.div-table-col { 
		/* Behave  like a "row" */
		border: none;
		border-bottom: 1px solid #e6e6e6;
		position: relative;
		padding-left: 100px; 
		text-align: left;
		word-wrap: break-word;      /* IE 5+ */
	}

	.div-table-col:before { 
		/* Now like a table header */
		border: none;
		position: absolute;
		top: 3px;
		left: 6px;
		padding-right: 10px; 
		/* Label the data */
		content: attr(data-column);
		color: #000;
		font-weight: bold;
	}

	.description-col {
		min-width: 0px;
	}

	.date-col {
		width: 100%;
	}

	.taskNewTextAreaContainer {
		height: 100px;
	}

	.photoEditContainer {
		float: none;
		width: 100%;
		height: 100px;
		display: block;
		padding: 3px;
	}
	
	.photoEditContainerRight {
		width: 100%;
		margin: 0px;
		/* height: 100px; */
		display: block;
		padding: 5px;
	}
	
	.taskEditContainer {
		height: 150px;
		display: block;
		padding: 10px;
	}

	.secleft {
		float: none;
		width: 100%;
		text-align: left;
	}
	.secright {
		float: none;
		margin: 0;
		padding-left: 15px;
		width: 100% ;
		text-align: left;
	}

	.seclefthead {
		float: left;
		width: 100px;
		text-align: right;
	}

	.secrighthead {
		margin-left: 100px;
		padding-left: 15px;
		text-align: left;
	}

	.sectitle {
		font-weight: bold;
		font-style: normal;
		overflow-wrap: anywhere;
		font-size: 15pt
		}

	.teamleft {
		float: none;
		width: 100%;
		text-align: left;
		padding-bottom: 20px;
	}

	.teamright {
		float: none;
		text-align: left;
		width: 100%;
		padding-bottom: 20px;
	}

	.teamoptionsleft {
		float:none;
		width:100%;
	}

	.teamoptionsright {
		float:none;
		width:100%;
		text-align:center;
	}

	.searchleft {
		float: none;
		width: 100%;
		text-align: center;
		padding-bottom: 10px;
	}

	.searchright {
		float: none;
		width: 100%;
		text-align: center;
		padding-bottom: 0px;
	}

	.searchdlleft {
		float: left;
		width: 100%;
		padding-bottom: 15px;
	}

	.multi-filter {
		flex-direction: column;
	}

	.multi-filter-item {
		padding-bottom: 5px;
	}

	.searchdlright {
		float: right;
		width: 100%;
		padding-bottom: 15px;
	}

	.marginleft150 {
		margin-left: 150 px;
	}
	
	.teamemail {
		float:none;
		width:100%;
	}

	.teamphone {
		float:none;
		width:100%;
		padding-bottom:15px;
	}

	.urgentProjectBox {
		border: 1px solid black;
		border-radius: 5px;
		padding: 5px;
		margin: 0 0 25px 0;
	}

	.googleiframe {
		height: 450px;
		border: 1px solid black;
		border-radius: 5px;
		padding: 5px 0 5px 0;
		background: #ccc;
	}


	.thumbcontainer {
		margin: auto;
		display: grid;
		justify-content: space-evenly;
		grid-template-columns: auto auto auto;
	}

	/* ###  SUPER'S LOG  ### */
	.dlphotobox {
		float: none;
		width: 100%;
	}
	.dlphotocaption {
		display:block; 
		float: none;
		margin:10px 0 0 0;
		width: 100% ;
	}
	.dlphotoblockphoto {
		float: none;
		width:100%;
	}
	.dlcaptionblock {
		float: none;
		width:100%;
	}

	.timesheetdescription {
		width:100%;
		display:block;
	}

	.workersignleft {
		float: none;
	}

	.workersignright {
		margin-left: 0px;
	}


	/* Force table to not be like tables anymore */
	/* table, thead, tbody, th, td, tr {  */
		/* display: block;  */
	/* } */
	
	/* Hide table headers (but not display: none;, for accessibility) */
	thead tr { 
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	
	tr { border: 1px solid #ccc; }
	
	td { 
		/* Behave  like a "row" */
		border: none;
		border-bottom: 1px solid #e6e6e6; 
		position: relative;
		padding-left: 35%; 
		text-align: left;
		white-space: pre;           /* CSS 2.0 */
		white-space: pre-wrap;      /* CSS 2.1 */
		white-space: pre-line;      /* CSS 3.0 */
		white-space: -pre-wrap;     /* Opera 4-6 */
		white-space: -o-pre-wrap;   /* Opera 7 */
		white-space: -moz-pre-wrap; /* Mozilla */
		white-space: -hp-pre-wrap;  /* HP Printers */
		word-wrap: break-word;      /* IE 5+ */
	}

	td:before { 
		/* Now like a table header */
		position: absolute;
		/* Top/left values mimic padding */
		top: 6px;
		left: 6px;
		/* width: 45%;  */
		padding-right: 10px; 
		/* white-space: nowrap; */
		/* Label the data */
		content: attr(data-column);

		color: #000;
		font-weight: bold;
		white-space: pre;           /* CSS 2.0 */
		white-space: pre-wrap;      /* CSS 2.1 */
		white-space: pre-line;      /* CSS 3.0 */
		white-space: -pre-wrap;     /* Opera 4-6 */
		white-space: -o-pre-wrap;   /* Opera 7 */
		white-space: -moz-pre-wrap; /* Mozilla */
		white-space: -hp-pre-wrap;  /* HP Printers */
		word-wrap: break-word;      /* IE 5+ */
	}
	
}

