 

/* Normalization */

html {
	box-sizing: border-box;
	font-size: 18px;
}
*, *:before, *:after{
	box-sizing: inherit;
}
@viewport{
	height:device-height;
	width:device-width;
}

img {
	max-width: 100%;
}
p {
	margin: .5em;
}

[class^='sd-'] {
	display:inline-block;
	font:normal normal normal 14px/1 'ScorDev';
	font-size:inherit;
	text-rendering:auto;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	transform:translate(0,0)
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body, input, button, select, option, textarea, a, [contenteditable="true"] {
	font-family: 'Roboto', "nimbus-sans", sans-serif;
	font-size: 1em;
	color: #230101;
}
small {
	color: #58595B;
}
ul {
	list-style: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
a {
	text-decoration: none;
}
.cf:before, .cf:after {
    content: "";
    display: table;
}
.cf:after {
	clear: both;
}

.font-large {
	font-size: 1.4em;
}
.font-medium {
	font-size: 1.25em;
}
.font-small {
	font-size: .8em;
}
.bold {
	font-weight: bold;
}

.green {
	color: #228855;
}

.left {
	text-align: left;
}
.float-right {
	float: right;
}

.align-right {
	text-align: right;
}
.center {
	text-align: center;
}
.relative {
	position: relative;
}
.auto-scroll,
.table {
	overflow: auto;
}
.no-overflow {
	overflow: hidden;
}
.not-padded {
	padding: 0;
}
.auto {
	width: auto;
}
div.auto {
	display: inline-block;
}
h2 {
	margin: 0;
    font-size: 1.25em;
}
h3 {
	margin: .5em;
    font-size: 1.15em;
}
.padded {
	padding: .5em;
}
.margin {
	margin: .5em;
}

.relative,
.tooltipped.relative:not(.mobile-wide) {
	position: relative;
}
.tooltip button,
.tooltip select:not([multiple]),
.tooltip input,
.tooltip div.input,
.tooltip textarea {
	min-height: 0;
	padding: 0;
}
.tooltip {
	cursor: default;
	display: block;
	/*margin-left: -999em;
	opacity: .9;*/
	color: #3A3A3A;
	font-size: 1rem;
	position: absolute;
	margin-left: .25em;
	z-index: 100;
	background: white;
	padding: .25em;
	border-radius: 5px;
	border: 1px solid gray;
	box-shadow: 2px 2px 5px;
	width: auto;
	overflow-x: auto;
	max-width: 100vw;
}
.tooltip > div {
	width: 100%;
	overflow: auto;
}
.tooltip.bottom {
	bottom: 1.25em;
}
.tooltip.right {
	margin-left: auto;
	right: .25em;
}
.tooltip.left {
	margin-right: auto;
	left: .25em;
}


/* Links */

ul.links > li {
	transition: all 250ms ease-in-out;
}
ul.links > li.disabled {
	color: gray}
ul.inline-list {
	overflow: visible;
}
ul.inline-list li {
	display: inline-block;
}
ul.links > li:not(.divider):not(.active):not(.disabled),
a,
.list-selector,
.clickable {
	cursor: pointer;
	color: #500000;
}
li > a {
width: 100%;
height: 100%;
display: block;
}
.clickable > strong,
.clickable > span:not([class^='sd-']) {
	color: #230101;
}
ul.links > li:not(.divider):not(.active):not(.disabled):hover,
.list-selector:hover,
.clickable:hover {
	color: #230101;
	background: #fbf2f6;
}
ul.links > li.active {
	color: #FFFFFF;
	background: #500000;
	font-weight: bold;
}
span.square,
ul.links li > span[class^='sd-'] {
    vertical-align: -14%;
    width: 1em;
    font-size: 1.33333333em;
    line-height: 0.75em;
	text-align: center;
}
ul.links span.square,
ul.links li > span[class^='sd-'] {
	margin-right: .25em;
}
ul.links li.a > a {
	padding: 0.5em;
	display: inline-block;
}

ul.content {
	width: 100%;
}
ul.content > li {
	border-bottom: 1px solid #dadce0;
}
ul.content > li:last-of-type {
	border-bottom: none;
}
ul.content > li > header {
	white-space: nowrap;
	overflow: hidden;
}
ul.content > li > header,
ul.content > li > .detailed {
	padding: .5em;
}
ul.content > li > header:hover {
	cursor: pointer;
	background: #fbf2f6;
}
ul.detailed > li {
	padding: .5em .25em;
}

.progress-bar {
	background: #500000;
	padding: .125em;
    position: absolute;
    width: 100%;
	left: -100%;
	top: 0;
}

/* Dashboard Style */

body {
	margin: 0;
	background: rgb(244,244,244);
}

body > :not(div) {
	flex-shrink: 0;
	padding: 0.5em;
}
body > .invert {
	background: #230101;
	color: #FFFFFF;
}

body > header {
	background: #FFFFFF;
	color: #230101; /* */
	display: flex;
	align-items: center;
	border-bottom: #dadce0 1px solid;
	padding: .125em .5em;
}
body > header button {
	padding: .5em;
	background: none;
	border-radius: 0;
}
body > header img {
	max-height: 2.5em;
	margin: .5em 0;
}

body > div > main {
	flex-grow: 1;
	padding: 0.5em;
	display: flex;
    justify-content: space-evenly;
    align-content: flex-start;
    flex-flow: row wrap;
	gap: 0.5em;
	overflow-y: auto;
}

body > footer {
	text-align: center;
	border-top: #dadce0 1px solid;
	background: #230101;
	color: #FFFFFF;
}

main#dashboard > * {
	border-radius: 8px;
	/* box-shadow: inset 0 0 0 1px #dadce0; */
	border: 1px solid #dadce0;
	height: auto;
	position: relative;
	background: #FFF;
	overflow: hidden;
}
.wide {
	width: 100%;
}
.half {
	width: calc(50% - 0.5em);
}
.third {
	width: calc(33.33% - 0.66666666666667em);
}
.two-thirds {
	width: calc(66.66% - 0.5em);
}
.fourth,
.quarter {
	width: calc(25% - 0.75em);
}
.three-quarters {
	width: calc(75% - 0.5em);
}
#body, #map {
	display: flex;
    justify-content: center;
    align-content: flex-start;
    flex-flow: row wrap;
	/* max-width: 1800px; */
	margin: auto;
}
#body > section {
	padding: 2em;
	max-width: 500px;
}
#body > section > * {
	max-width: 100%;
	overflow: auto;
}
#body > section .progress-bar {
	padding: .085em;
}
#body > section > header {
	width: 100%;
	padding: .5em .75em;
	/* background: #500000;
	color: #FFFFFF; */
	border-bottom: 1px solid #dadce0;
	height: 2.25em;
	overflow: hidden;
}
#body > section > div:not(.progress-bar):not([data-load]) {
	margin: 0.5em 0;
}
#body > section > div:not(.progress-bar) {
	overflow: auto;
	max-width: 100%;
}
#body > section > .content:not(ul) {
	padding: 0.5em;
	position: relative;
	width: 100%;
}
.content .detailed {
	font-size: .85em;
}
[data-load] {
	width: 100%;
}
#body > section > .progress-bar {
	top: 2.45em;
}
main > section > footer {
	padding: 0.5em;
	border-top: #dadce0 1px solid;
}

section > section {
	margin: 0.5em 0.25em;
	position: relative;
}
section > section > * {
	margin: 0.5em 0;
}
section > section > header {
	margin: 0.5em 0.5em -0.25em;
	font-size: 1.15em;
}

section header > .options {
	float: right;
	display: inline-block;
	height: calc(100% + 1em);
	margin-top: -.5em;
}

section header > .options > *:not(.tooltip) {
	display: block;
	width: 100%;
	height: 100%;
	padding: .5em;
}


.flex-rows {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
.flex-rows > * {
	flex-grow: 1;
	flex-basis: 0;
	border-right: 1px solid #dadce0;
}
.flex-rows h3 {
	margin: 1rem 2rem;
	font-size: 1.5em;
}
.flex-rows p,
.flex-rows ul {
	text-align: justify;
	margin: .5rem 2rem;
}
.flex-rows > *:last-of-type {
	border-right: none;
}
.flex-rows.column-quarter > * {
	max-width: 25%;
}
.flex-rows.column-third > * {
	max-width: 33.33%;
}


.calendar-week {
	width: 100%;
	display: flex;
}
.calendar-week > * {
	flex-grow: 1;
	flex-basis: 0;
	padding: 0 .5em;
	border-right: 1px solid #dadce0;
}
.calendar-week > *:last-of-type {
	border-right: none;
}
.calendar-week li > time {
	display: block;
	width: 100%;
	padding: .5em;
	border-bottom: 1px solid #dadce0;
	font-weight: bold;
}
.calendar-week .scheduled > * {
	overflow: hidden;
}
.calendar-week .scheduled > .job {
	border: 1px solid #7F2C4E;
	background: #fbf2f6;
	border-radius: .5em;
	margin: calc(.5em + 1px) calc(.25em + 1px)
}
.calendar-week .scheduled > .job.green {
	background: #f2fbf6;
	color: #228855;
	border-color: #228855;
}
.calendar-week .scheduled > .job.blue {
	background: #f2f6fb;
	color: #225588;
	border-color: #225588;
}
.calendar-week .scheduled > .job > header > div {
	margin-top: .25em;
}
.calendar-week .scheduled > .job:hover {
	border-width: 2px;
	margin: .5em .25em;
	width: calc(100% - .5em);
}
.calendar-week .scheduled > .job > header:hover {
	background: inherit;
}

.border-left-light {
	border-left: 1px solid #dadce0;
}

.fb-wrapper {
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    height: 0;
}

.fb-wrapper iframe {
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    position: absolute;
}





@media screen and (min-width: 2000px) {
	html {
		font-size: 20px;
	}
}
@media screen and (max-width: 1200px) {
	html {
		font-size: 18px;
	}
	.medium-half {
		width: calc(50% - 0.5em);
	}
	.medium-third {
		width: calc(33.33% - 0.66666666666667em);
	}
	.medium-two-thirds {
		width: calc(66.66% - 0.5em);
	}
	.medium-three-quarters {
		width: calc(75% - 0.5em);
	}
	
	.flex-rows.column-tablet-quarter > * {
		max-width: 25%;
	}
	.flex-rows.column-tablet-third > * {
		max-width: 33.33%;
	}
	.flex-rows.column-tablet-half > * {
		max-width: 50%;
	}
	.flex-rows.column-tablet-whole > * {
		max-width: 100%;
	}
}
@media screen and (max-width: 600px) {
	html {
		font-size: 16px;
	}
	body > div {
		overflow-x: auto;
	}
	main#dashboard {
		width: 100vw;
		max-width: 100vw;
		flex-shrink: 0;
		padding: 0;
	}
	#body > section {
		padding: 1em;
	}
	#body > section:nth-of-type(2) {
		text-align: center;
	}
	#body > section > img {
		max-width: 75%;
	}
	.mobile-wide,
	.half,
	.third,
	.two-thirds,
	.fourth,
	.quarter,
	.three-quarters {
		width: 100%;
	}
	.tooltipped.mobile-wide {
		position: static !important;
	}
	.tooltipped.mobile-wide .tooltip {
		left: 0 !important;
		margin-left: 0 !important;
		right: 0 !important;
		overflow: hidden !important;
	}
	
	.calendar-week {
		flex-direction: column;
	}
	.calendar-week > * {
		flex-grow: 1;
		flex-basis: 0;
		border-right:none;
		border-bottom:2px solid #dadce0;
	}
	.calendar-week > :last-of-type {
		border-bottom: none;
	}
	.mobile-hide {
		display: none;
	}
	
	.flex-rows > * {
		flex-basis: auto;
	}
	.flex-rows.column-mobile-quarter > * {
		width: 25%;
		max-width: 25%;
	}
	.flex-rows.column-mobile-third > * {
		width: 33.33%;
		max-width: 33.33%;
	}
	.flex-rows.column-mobile-half > * {
		width: 50%;
		max-width: 50%;
	}
	.flex-rows.column-mobile-whole > * {
		width: 100%;
		max-width: 100%;
	}
}
@media screen and (max-width: 360px) {
	html {
		font-size: 16px;
	}
	body > div {
		overflow-x: auto;
	}
	main#dashboard {
		width: 100vw;
		max-width: 100vw;
		flex-shrink: 0;
	}
	.half,
	.third,
	.two-thirds,
	.fourth,
	.quarter,
	.three-quarters {
		width: 100%;
	}
	.tooltipped.mobile-wide {
		position: static !important;
	}
	.tooltipped.mobile-wide .tooltip {
		left: 0 !important;
		margin-left: 0 !important;
		right: 0 !important;
		overflow: hidden !important;
	}
}

/* Tables */
div.border-x2 {
	border: 2px gray solid;
}
table {
    border-spacing: 0px;
	width: 100%;
	white-space: nowrap;
}

table.sticky-head {
	position: relative;
	overflow-y: auto;
}
table.sticky-head > thead > tr > * {
	position: sticky;
	top: 0;
	background: #FFEEDD;
}
table.sticky-column {
	position: relative;
	overflow-x: auto;
	max-width: 100%;
}
table.sticky-column > * > tr > th:first-of-type,
table.sticky-column > * > tr > td:first-of-type {
	position: sticky;
	left: 0;
	background: #FFEEDD;
}
table > thead {
	background: #FFEEDD;
}
table > * > tr > td,
table > * > tr > th {
	padding: .25em .5em;
	border-right:  1px #dadce0 solid;
	border-bottom:  1px #dadce0 solid;
}
table > thead > tr:last-of-type > *,
table > tbody:not(:last-of-type) > tr:last-of-type > * {
	border-bottom: 1px gray solid;
}
table > tbody:last-of-type > tr:last-of-type > * {
	border-bottom: none;
}
table > * > tr > td:first-of-type,
table > * > tr > th:first-of-type {
	border-right:  1px gray solid;
}
table > * > tr > td:last-of-type,
table > * > tr > th:last-of-type {
	border-right:  none;
}

/**** PopUp ****/
#backgroundPopup {
    z-index:101;
    position: fixed;
    display:none;
    height:100%;
    width:100%;
    background:rgba(0,0,0,.5);
    /* top:0px;
    left:0px; */
	cursor: pointer;
	justify-content: space-around;
	align-content: space-around;
}
#popup {
	/* border-radius: .5rem; */
	background: white;
    display: none;
	width: auto;
	max-height: 95%;
	overflow-y: auto;
	overflow-x: hidden;
	min-width: 400px;
    max-width: 95%;
	/*position: absolute;
	left: 50%;
	top: 50%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);*/
	border-radius: 1em;
	cursor: default;
	/*box-shadow: 0 0 15px rgba(0,0,0,0.5);*/
	margin: auto;
}
#popup .popup-content {
	transition: all 1s ease-in-out;
}



#service_area {
	height: 60vh;
}

#customer_logos {
	display: flex;
	margin: .5em;
	justify-content: space-around;
}
#customer_logos > * {
	flex-grow: 1;
	text-align: center;
	margin: .5em;
}
#customer_logos img {
	max-width: 200px;
	vertical-align: 
}

.extended {
	position: absolute;
	left: 0;
	right: 0;
}
#service_area + * {
	/*padding-top: 60vh;*/
}

body > header > div:nth-of-type(2) {
	flex-grow: 1;
	text-align: center;
}
header div:not(:nth-of-type(2)) a {
	padding: .5em;
	font-size: 1.5em
}
header div:not(:nth-of-type(2)) a:hover {
	background: #fbf2f6;
}

#before_after {
	
}
#before_after > * {
	text-align: center;
	display: flex;
	padding: 0 .5em;
}
#before_after > * > div {
	position: relative;
}
.caption {
	position: absolute;
	left: .5em;
	bottom: .5em;
	color: #FFF;
	text-shadow: #000 0 0 2px;
}






@media print {
	@page {
		size: 8.5in 11in;
		margin: .2in .2in;
	}
	body {
		background: none;
	}
	header#topbar,
	nav#sidebar {
		display: none;
	}
}