/* BASE ---------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------*/

body {
	background-color: rgb(217, 217, 217);
	color: rgb(5, 66, 107);
	margin: 0%;
	display: grid;
	text-align: left;
	/*font-family: "Open Sans", sans-serif;*/
	font-family: "Veranda", sans-serif;/*"Veranda", sans-serif;/*'Times New Roman', Times, serif;*/
  	font-optical-sizing: auto;
	font-style: normal;
	font-size: 18px;
	line-height: 28px;
	@media screen and (max-width: 600px) {
		font-size: 14px;
		line-height: 18px;
	}
}

select {
	border-radius: 6px;
}

/* bit messy but this is a body.body div class */
.body {
	padding-left: 20%;
	padding-right: 20%;
	margin-top: 2%; /* this allows for the sticky header */
	/* This removes the left and right padding if the user is on a mobile */
	@media screen and (max-width: 600px) {
		padding-left: 2%;
		padding-right: 2%;
		font-size: 14px;
	}
}

.title {
	text-align: left;
	/*font-family: "Open Sans", sans-serif;*/
	font-family: "Arial", sans-serif;/*"Veranda", sans-serif;/*'Times New Roman', Times, serif;*/
  	font-optical-sizing: auto;
	font-style: normal;
	font-size: 24px;
	font-weight: 600;
	line-height: 28px;
}

button {
	background-color: rgb(242, 205, 93);
	transition: 0.3s;
	border-radius: 12px;
	border-style: solid;
	border-width: 2px;
	border-color: rgb(242, 205, 93);
	padding: 15px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	cursor: pointer;
	color: rgb(5, 66, 107);
	font-family: "Veranda", sans-serif;
	font-weight: bold;
	font-optical-sizing: auto;
	font-style: normal;
    margin: 8px 8px 12px 12px;
	@media screen and (max-width: 600px) {
		margin: 8px 8px 12px 20%;
	}
}

input[type=file] {
	width: 20%;
	background-color: rgb(255, 147, 147);
}

input[type=radio] {
	float: left;
	width: 5%;
}

button:hover {
	border-color: rgb(5, 66, 107);
}

.tooltip {
	position: relative;
	display: inline-block;
	color: rgb(107, 122, 133);
	transition: color 0.6s;
	/*border-bottom: 1px dotted rgb(5, 66, 107);*/
}

/* Tooltip text */
.tooltip .tooltiptext {
	visibility: hidden;
	padding: 10px;
	width: 240px;
	background-color: rgb(242, 205, 93);
	font-size: 16px;
	font-weight: 300;
	color: rgb(5, 66, 107);
	text-align: left;
	line-height: 20px;
	border-radius: 6px;

	/* Position the tooltip text - see examples below! */
	position: absolute;	
	z-index: 1;
	bottom: 100%;
	left: 50%;
	margin-left: -120px; /* Use half of the width (120/2 = 60), to center the tooltip */
	opacity: 0;
}

.tooltip:hover {
	color: rgb(5, 66, 107);
}
/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
	visibility: visible;
	color: rgb(5, 66, 107);
	opacity: 1;
	transition: opacity .6s;
}

footer {
	width: 80%;
	height: 80%;
	margin-top: 10%;
	padding-left: 10%;
	padding-right: 10%;
	text-align: left;
	background-color: rgb(27, 76, 109);
	color: rgb(255,255,255);
}

.footer-contact {
	margin-top: 1em;
	padding: 0 1em 0 1em;
	background-color: rgb(242, 205, 93);
	border-radius: 12px;
	border-style: solid;
	border-width: 4px;
	border-color: rgb(242, 205, 93);
	color: rgb(27, 76, 109);
}

.footer a {
	/* override default link colour */
	color: rgb(255,255,255) !important;
}

a {
	text-decoration: underline;
	text-decoration-style: dotted;
	color: rgb(27, 76, 109);
}

a:hover {
	color: rgb(12, 38, 56);
	text-decoration-style: wavy;
}

/* HEADER -------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------*/

.header-overlay {
	/* only show if in mobile mode*/
	position: fixed;
	top: 0;
	left: 0;
	width: 60%;
	height: 100%;
	font-size: 30px;
	padding: 20%;
	text-align: center;
	background-color: rgb(242, 205, 93);
	display: none;
	z-index: 999;
}

.logo {
	width: 7%;
	@media screen and (max-width: 600px) {
		width: 25%;
	}
}

.header {
	background-color: rgb(242, 205, 93);
	color: rgb(5, 66, 107);
	padding-bottom: 1%;
	padding-top: 1%;
	padding-left: 1%;
    padding-right: 1%;
	margin: 0%;
	text-align: left;
	float: left;
    width: 98%;
	/*font-family: "Open Sans", sans-serif;*/
	font-family: "Arial", sans-serif;/*"Veranda", sans-serif;/*'Times New Roman', Times, serif;*/
  	font-optical-sizing: auto;
	font-style: normal;
	font-size: 24px;
	border-bottom: 2px dotted rgb(5, 66, 107);
	@media screen and (max-width: 600px) {
		font-size: 20px;
	}
}

.header-container {
	z-index: 9999; /* brings to the front of the DOM */
	background-color: rgb(242, 205, 93);
	padding: 0%;
	margin: 0%;
	text-align: left;
	position: sticky;
	top: 0;
    left: 0;
    width: 100%;
}

#header-loading-bar-bg {
	width: 100%;
	height: 1.1em;
	background-color: rgb(255, 240, 152);
	float: left;
	@media screen and (max-width: 600px) {
		height: auto;
	}
}

#header-loading-bar-fg {
	width: 25%;
	height: 1.1em;
	background-color: rgb(5, 66, 107);
	position: absolute;
	top: 0;
	left: 0;
	@media screen and (max-width: 600px) {
		height: auto;
	}
}

#header-loading-bar-text {
	width: 100%;
	height: 0.8em;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.1em;
	font-size: 1.0em;
	text-align: center;
	color: rgb(242, 205, 93);
	@media screen and (max-width: 600px) {
		height: auto;
	}
}

#browser-warning-bar {
	display: none;
	width: 100%;
	height: 1.1em;
	float: left;
	line-height: 1.1em;
	font-size: 1.0em;
	text-align: center;
	background-color: rgb(226, 69, 22);
	color: rgb(14, 13, 12);
	@media screen and (max-width: 600px) {
		height: auto;
	}
}

.header-links {
	margin-top: 0%;
	margin-bottom: 0%;
	float: right;
	top: 35%;
	right: 2%;
	width: 89%;
	text-align: right;
	padding: 1%;
	@media screen and (max-width: 600px) {
		width: 71%;
	}
}

.header-links a {
	color: rgb(5, 66, 107);
	text-decoration: none;
}

.header-links a:hover {
	background-color: rgb(242, 205, 93);
	border-bottom: 2px dotted rgb(5, 66, 107);
}

#header-links-mobile {
	display: none;
	@media screen and (max-width: 600px) {
		display: block;
	}
}

#header-links-desktop {
	display: block;
	@media screen and (max-width: 600px) {
		display: none;
	}
}


/* Carbon calculator page  ------------------------------------------------------------------ */

svg {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

svg {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.page-title {
  display: inline-block;
  position: relative;
  width: 100%;
  vertical-align: middle;
  overflow: hidden;
}

details {
	border: 1px solid #aaa;
	border-radius: 12px;
	padding: 1em 1em 0;
	margin-bottom: 0.5em;
	background-color: rgb(242, 242, 242);
}

details[disabled] summary {
	pointer-events: none;
	user-select: none;
	background-color: rgb(153, 140, 102);
	border: 2px solid rgb(153, 140, 102);
}

summary {
	font-weight: bold;
	margin: -1em -1em 0;
	padding: 0.5em;
	background-color: rgb(242, 205, 93);
	transition: 0.3s;
	border-radius: 12px;
	border: 2px solid rgb(242, 205, 93);
	padding: 15px;
	text-decoration: none;
	cursor: pointer;
	color: rgb(5, 66, 107);
	font-family: "Veranda", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

.luminaire-category-img {
	width: 44%;
	margin: 3%;
	object-fit: contain;
}

#carbon-luminaire-card {
	width:100%;
	display: flex;
	background-color: rgb(217, 217, 217);
	border-radius: 6px;
	margin-top: 1em;
	margin-bottom: 1em;
}

#carbon-luminaire-text-box {
	width: 44%;
	background-color: rgb(242, 205, 93);
	margin: 3%;
	border-radius: 6px;
	padding: 1%;
}
.carbon-luminaire-info {
	background-color: rgb(242, 205, 93);
	height: fit-content;
	padding: 6px;
}

.carbon-bom-assumptions:has(option[value="reuse"]:checked) {
  background-color: rgb(92, 173, 92);
}
.carbon-bom-assumptions:has(option[value="replace"]:checked) {
  background-color: rgb(218, 149, 110);
}

.carbon-bom-assumptions option[value="reuse"] {
	background-color: rgb(92, 173, 92);
}

.carbon-bom-assumptions option[value="replace"] {
	background-color: rgb(218, 149, 110);
}

summary:hover {
	cursor: pointer;
	border: 2px solid rgb(5, 66, 107);
}

.carbon-graph-container {
	border-radius: 12px;
	background-color: #d8d8d8;
	border: 2px solid rgb(5, 66, 107);
	width: 70%;
	display: block;
	margin-bottom: 2em;
	margin-left: 15%;
	margin-right: 15%;
	@media screen and (max-width: 600px) {
		width: 100%;
		margin: 0px 0px 5px 0px;
	}
}

.carbon-graph-heading {	
	font-family: "Veranda", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 33px;
	font-weight: 600;
	margin-top: 5%;
	margin-left: 5%;
	width: 95%;
	display: inline-block;
	@media screen and (max-width: 600px) {
		line-height: 33px;
	}
}

.carbon-graph-subheading {	
	font-family: "Veranda", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 100;
	margin-top: 0.5em;
	margin-left: 5%;
	margin-right: 5%;
	width: 90%;
	display: inline-block;
}

.carbon-graph-line {
	width: 100%;
	height: 1.5em;
}

.carbon-graph-stage {
	width: 26%;
	padding-right: 2%;
	float: left;
	height: 2em;
	text-align: right;
	font-style: italic;
	font-weight: bold;
}

.carbon-stage-text {
	border-bottom: 2px dotted;
	margin-bottom: -2px;
	cursor: pointer;
	position: relative;
}

/* Tooltip text */
.carbon-stage-text .tooltiptext {
	visibility: hidden;
	padding: 10px;
	width: 240px;
	background-color: rgb(242, 205, 93);
	font-size: 16px;
	font-weight: 300;
	color: rgb(5, 66, 107);
	text-align: left;
	line-height: 20px;
	border-radius: 6px;

	position: absolute;	
	z-index: 999;
	bottom: 100%;
	margin-left: 0.5em;
	opacity: 0;
}

/* Show the tooltip text when you mouse over the tooltip container */
.carbon-stage-text:hover .tooltiptext {
	visibility: visible;
	color: rgb(5, 66, 107);
	opacity: 1;
	transition: opacity .6s;
}

.carbon-graph-summary-stage {
	width: 32%;
	margin-left: 5%;
	padding-right: 2%;
	float: left;
	height: 2em;
	text-align: left;
	font-style: italic;
}

.carbon-graph-bar-segment {
	float: left;
	height: 2em;
	width: 60%;
	/*border-left: 2px solid black;
	background-color: #aaa;*/
}

.carbon-graph-axes-ticks {
	float: left;
	height: 2em;
	width: 100%;
	/*border-left: 2px solid black;
	background-color: #aaa;*/
}

.carbon-graph-bar {
	background-color: rgb(5, 66, 107);
	border-radius: 4px;
	height: 1.5em;
}

.carbon-graph-axes {
	float: left;
	border-left: 0px solid rgb(5, 66, 107);
	border-right: 2px solid rgb(5, 66, 107);
	border-bottom: 2px solid rgb(5, 66, 107);
	width: 20%;
	height: 0.5em;
	margin-left: -2px;
	margin-right: -1px;
}

.carbon-graph-ticks {
	float: left;
	width: 12%;
	height: 0.5em;
}

.carbon-graph-seperator-line {
	float: left;
	border-bottom: 2px solid rgb(5, 66, 107);
	width: 90%;
	height: 0.5em;
	margin-left: 5%;
	margin-right: 5%;
}

/* Case study page ------------------------------------------------------------------ */

.case-study-header {
	width: 100%;
	object-fit: cover;
	height: 250px;
}

.case-study-title {
	text-align: left;
	padding-left: 0%;
	/*font-family: "Open Sans", sans-serif;*/
	font-family: "Veranda", sans-serif;/*'Times New Roman', Times, serif;*/
  	font-optical-sizing: auto;
	font-style: normal;
	font-size: 33px;
	font-weight: 600;
	line-height: 75px;
}

.case-study-container {
	width: 38%;
	margin-left: 30%;
	margin-right: 30%;
	background-color: rgb(242, 242, 242);
	margin-top: 2%;
	padding: 2%;
	border-radius: 28px;
	border: 1px solid #aaa;
}

p.case-study-section {
	color:rgb(27, 76, 109);
	font-weight: bold;
	border-bottom: 2px dotted;
	margin: 0px;
}

p.case-study-text {
	color:rgb(42, 83, 110);
	font-style: normal;
	font-weight: normal;
	padding-bottom: 20px;
	margin: 0px;
	padding-top: 5px;
}

.case-study-image-container {
	width: 100%;
	border: 0px solid black;
	padding-bottom: 110px;
}

.case-study-image-selections {
	float: left;
	width: 100%;
}

#case-study-main-image {
	display: inline-block;
	width: 100%;
	height: 100%;
}

.case-study-small-image {
	display: inline-block;
	width: 19.4%;
	height: 19.4%;
}

.case-study-small-image:hover {
	cursor: pointer
}

.case-study-box {
	border-bottom: 0px solid #c0c0c0;
	overflow: auto;
}

.case-study-item {
	border-top: 0px solid #c0c0c0;
	border-right: 0px solid #c0c0c0;
	border-left: 0px solid #c0c0c0;
  	padding-left: 0%;
	padding-right: 4%;
	padding-top: 1%;
	padding-bottom: 1%;
	float: left;
	width: 46%;
}

.case-study-summary {
	border-top: 0px solid #c0c0c0;
	border-right: 0px solid #c0c0c0;
	border-left: 0px solid #c0c0c0;
  	padding-left: 0%;
	padding-right: 4%;
	padding-top: 1%;
	padding-bottom: 1%;
	float: left;
	width: 96%;
}

.case-study-item p {
	margin: 0;
}

/* CASE STUDIES ---------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------- */

.case-studies-title {
	text-align: left;
	padding-left: 0%;
	/*font-family: "Open Sans", sans-serif;*/
	font-family: "Veranda", sans-serif;/*'Times New Roman', Times, serif;*/
  	font-optical-sizing: auto;
	font-style: normal;
	font-size: 4em;
	font-weight: 1000;
	line-height: 75px;
}

.case-studies-subtitle {
	text-align: left;
	padding-left: 0%;
	/*font-family: "Open Sans", sans-serif;*/
	font-family: "Veranda", sans-serif;/*'Times New Roman', Times, serif;*/
  	font-optical-sizing: auto;
	font-style: normal;
	font-size: 28px;
	font-weight: 600;
	line-height: 75px;
}

.case-studies-filterbox {
	border-bottom: 0px solid #c0c0c0;
	overflow: auto;
}

.case-studies-filteritem {
	border-top: 0px solid #c0c0c0;
	border-right: 0px solid #c0c0c0;
	border-left: 0px solid #c0c0c0;
  	padding-left: 0%;
	padding-right: 0%;
	padding-top: 1%;
	padding-bottom: 1%;
	float: left;
	width: 100%;
}

div.case-studies-filtertitle {
	color:rgb(27, 76, 109);
	font-weight: bold;
	float: left;
	margin: 0px;
	padding-top: 0.5%;
	padding-bottom: 0.5%;
	margin-right: 2%;
}

div.case-studies-filteroption {
	color: white;
	background-color: rgb(27, 76, 109);
	font-style: normal;
	font-weight: normal;
	padding-bottom: 0px;
	padding-left: 2%;
	padding-right: 2%;
	padding-top: 0.5%;
	padding-bottom: 0.5%;
	border-bottom: 1px dotted;
	border-top: 1px dotted;
	border-left: 1px dotted;
	border-right: 1px dotted;
	margin-right: 2%;
	float: left;
	cursor: pointer;
}

div.case-studies-divider {
	width: 100%;
	padding: 0%;
	margin: 0%;
	margin-top: 2%;
	margin-bottom: 3%;
	border-bottom: 2px solid rgb(42, 83, 110);
}

.case-studies-small-image {
	float: left;
	width: 30%;
	height: 30%;
	margin-right: 3%;
	margin-bottom: 3%;
}

td.case-studies-table-datacell {
	overflow: auto;	
}

td.case-studies-tag {
	display: none;
}

div.case-studies-row-text {
	width: 65%;
	float: left;
}

/* PLANNER --------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------- */

.planner-container {
    background-color: rgb(118, 116, 117);
	width: 100%;
    height: 80px;
    border-radius: 12px;
	/*overflow: scroll;*/
}

.planner {
	padding-left: 20%;
	padding-right: 20%;

	/* This removes the left and right padding if the user is on a mobile */
	@media screen and (max-width: 600px) {
		padding-left: 2%;
		padding-right: 2%;
	}
}

.planner-menu {
    background-color: rgb(242, 205, 93);
	display: none;
	line-height: 18px;
    width: 20em;
	padding: 10px;
    height: 8em;
    position: absolute;
    left: 230px;
    border-radius: 6px;
}

.planner-phase-deinstall {
    background-color: rgb(166, 202, 236);
    width: 100px;
    height: 60px;
    float: left;
    position: absolute;
    margin: 0px;
    border-radius: 4px;
}

.planner-no-work-day {
    background: repeating-linear-gradient(
		45deg,
		#606dbc,
		#606dbc 10px,
		#465298 10px,
		#465298 20px
  	);
	background-color: rgb(78, 78, 78);
    opacity: 40%;
	width: 100px;
    height: 60px;
    float: left;
    position: absolute;
    margin: 0px;
    border-radius: 0px;
}

.planner-phase-deinstall:hover {
    background-color: rgb(225, 251, 253);
}
.planner-phase-reman {
    background-color: rgb(78, 149, 217);
    width: 100px;
    height: 60px;
    float: left;
    position: absolute;
    margin: 0px;
    border-radius: 4px;
}
.planner-phase-reman:hover {
    background-color: rgb(160, 231, 245);
}

.planner-phase-install {
    background-color: rgb(33, 95, 154);
    width: 100px;
    height: 60px;
    float: left;
    position: absolute;
    margin: 0px;
    border-radius: 4px;
}
.planner-phase-install:hover {
    background-color: rgb(146, 218, 231);
/*     border: 5px solid;
    border-color: rgb(247, 241, 147); */
}

.planner-column {
	display: table-cell;
	width: 50%;
}

.planner-box-inputs {
	width: 40%;
	float: left;
    font-weight: 600;
	line-height: 25px;
	border: 2px;
    border-radius: 20px;
	padding: 2%;
	background-color: rgb(242, 242, 242);
	@media screen and (max-width: 600px) {
		width: 44%;
	}
}

#inputscontainer {
	display: block;
}

.planner-box-advanced {
	width: 100%;
	float: left;
    font-weight: 600;
	line-height: 25px;
	border: 2px;
    border-radius: 20px;
	padding-top: 2%;
	
	@media screen and (max-width: 600px) {
		width: 44%;
	}
}

#advancedcontainer {
	display: none;
}

.planner-box-outputs {
	width: 40%;
	float: right;
    font-weight: 600;
	line-height: 25px;
	border: 2px;
    border-radius: 20px;
	padding: 2%;
	background-color: rgb(242, 242, 242);
	@media screen and (max-width: 600px) {
		width: 44%;
	}
}

#outputscontainer {
	display: block;
}

.planner-week-divider {
	background-color: rgb(71, 71, 71);
	float: left;
    position: absolute;
    margin: 0px;
}

.planner-weekend {
	background-color: rgb(151, 147, 147);
	float: left;
    position: absolute;
    margin: 0px;
}

.planner-week-num {
	background-color: rgb(242, 205, 93);
    position: absolute;
    margin: 0px;
	text-align: center;
	border-radius: 5px;
}

input {
    margin: 8px 0;
	width: 20%;
    padding: 6px 10px;
    display: inline;
	float: right;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
	@media screen and (max-width: 600px) {
		width: 50%;
	}
}

input[type=file] {
	width: auto;
}

.input-line {
	width: 100%;
	display: inline-block;
	border-bottom: 1px dotted rgb(5, 66, 107);
	margin-bottom: 1em;
}

.output-text {
	font-weight: 300;
}

.output-value {
	font-weight: 600;
}

.output-value:hover {
	background-color: rgb(242, 205, 93);
}

/* Style Code for input toggle switches */

#inputsShowHide:hover, #outputsShowHide:hover, #advancedShowHide:hover {
	cursor: pointer;
	border-bottom: 1px dotted rgb(5, 66, 107);
}

/* ABOUT - --------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------- */

.about-header {
	width: 30%;
	padding-left: 10%;
	padding-right: 60%;
	padding-top: 2%;
	padding-bottom: 0%;
	scroll-margin-top: 100px;
	@media screen and (max-width: 600px) {
		padding-left: 2%;
		padding-right: 2%;
		width: 97%
	}
}

.about-header-underline {
	margin-top: 2%;
	width: 80%;
	border-bottom: 2px dotted rgb(5, 66, 107);
	margin-left: 10%;
	@media screen and (max-width: 600px) {
		width: 100%;
		margin-left: 0%;
	}
}

.about-content-right-half {
	width: 35%;
	margin-left: 7%;
  	margin-top: 2%;
	border-radius: 20px;
	float: left;
	@media screen and (max-width: 600px) {
		width: 98%;
		margin-left: 2%;
		margin-top: 5%;
	}	
}

.about-content-right-links {
	background-color: rgb(242, 205, 93);
	padding: 1%;
	width: 35%;
	margin-left: 10%;
  	margin-top: 2%;
	border-radius: 20px;
	float: left;
	@media screen and (max-width: 600px) {
		width: 90%;
		margin-left: 2%;
		margin-right: 2%;
		font-size: 12px;
		padding: 3%;
	}
}

.about-right-seperator {
	width: 100%;
	float: left;
}

.about-container-line {
	width: 79%;
	margin-top: 2%;
	margin-left: 15%;
	border-left: 2px dotted rgb(5, 66, 107);
	@media screen and (max-width: 600px) {
		margin-left: 0%;
		margin-right: 0%;
		width: 97%
	}
}


/* GUIDES ---------------------------------------------------------------------- */


.guide-container-line {
	width: 80%;
	margin-top: 2%;
	margin-left: 10%;
	/*border-left: 2px dotted rgb(5, 66, 107);*/
	@media screen and (max-width: 600px) {
		margin-left: 0%;
		margin-right: 0%;
		width: 97%
	}
}

.guide-text-line {
	/*border-left: 2px dotted rgb(5, 66, 107);*/
	width: 100%;
}