﻿:root {
	--altBackground: #0072bc;
	--footerBackground: #00283c;
	--secondaryColour: #000;
	--border: #808080;
}

a.navbar-brand {
	white-space: normal;
	text-align: center;
	word-break: break-all;
}

/* Provide sufficient contrast against white background */
a {
	color: #0366d6;
}

.btn-primary {
	color: #fff;
	background-color: #1b6ec2;
	border-color: #1861ac;
}



.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
	color: #fff;
	background-color: #1b6ec2;
	border-color: #1861ac;
}

/* Header */
/*.menu, .footer {
	background: rgb(190,30,45);
	background: linear-gradient(0, rgba(137,0,0,1) 0%, rgba(190,30,45,1) 100%);
}*/

.header {
	background-color: #fff;
	padding: 1.5rem 3rem;
	box-shadow: 0px 0px 10px 0px rgba(4.793478260869566, 5.104395085066165, 9.000000000000004, 0.18);
	/*width: calc(100vw - 7.1rem);*/
}

.bt-4 {
	border-top: 8px solid #0072bc;
}

::placeholder {
	color: #ff0000;
	opacity: 1; /* Firefox */
}

/*
.footer {
	min-height: 10rem;
	white-space: nowrap;
	line-height: 20px;
	font-size: .8rem;
}

.footer .info {
	font-size: .6rem;
	line-height: 1rem;
	white-space: normal;
	word-break: break-word;
}
*/
/*#contact, #contact a, .menu a, .footer a, .footer .info {
	color: #fff;
}*/

#logo {
	height: 4rem;
}

.menu {
	/*margin-top:840px;*/
	height: 6rem;
	color: #fff;
}

.menu div {
	display: inline-block;
	text-align: center;
}

.menu img {
	margin: 1rem 10px 0 10px;
	height: 3rem;
	color: #fff;
}

.menu svg {
	margin: 1rem 10px 0 10px;
	height: 4rem;
	color: #fff;
	fill: #00a;
}

#about {
	fill: #a00;
}

.menu svg:hover {
	color: #0f0;
}

.inner {
	max-width: 1024px;
}

/*#contact {
	float: right;
}*/

.carousel {
	position: relative;
	height: 22rem;
	overflow: hidden;
}

.carousel-holder .carousel-item {
	position: absolute;
	left: 0;
	top: 0;
	transition: all 2s ease 0s;
	-webkit-transform: scale(1);
	transform: scale(1);
}

.carousel-holder .carousel-item .img-responsive {
	position: absolute;
	left: 0;
	top: 0;
	transition: all 2s ease 0s;
	transform: perspective(100vw) translateZ(15vw);
	opacity: 0;
}

.carousel-holder .carousel-item.active .img-responsive {
	opacity: 1;
	transform: perspective(100vw) translateZ(0);
}
/**********/

/* Support Styles */
#content {
	width: 98%;
}

table, th, td {
	border: 1px solid black;
	border-collapse: collapse;
}

.faultLabel {
	width: 5rem;
	font-weight: bold;
	display: table-cell;
}

.faultLabel + span {
	display: table-cell;
}

.is-a-new-day {
	margin-top: .5rem;
}

.float-end input {
	margin-top: 8px;
}

.button {
	background-color: #bc1d2b;
	border: none;
	color: white;
	padding: 5px 30px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	font-size: 16px;
}


.input {
	width: 51%;
	padding: 12px 20px;
	margin: 8px 0;
	display: inline-block;
	border: 1px solid #ccc;
	box-sizing: border-box;
}

.hide {
	display: none;
}

.show {
	display: block;
}

#imagename + img {
	margin-top:10px;
}



/* Support Styles */
form {
	/*background: #ddd;
	border-radius: 2rem;
	padding: 1rem 2rem;*/
	margin: 1rem auto;
	min-width: 400px;
	max-width: 900px
}

form label {
	margin: 0;
	letter-spacing: .031rem;
}

.form-control, .btn {
	border-radius: .5rem;
}

input::file-selector-button {
	border: 0;
	border-right: 1px solid #bbb;
	background-color: transparent;
}

textarea.form-control.repair {
	height: 9.55rem;
}

textarea.form-control.return {
	height: 4rem;
}

.form-check-input {
	width: 2.1rem;
	height: 2.2rem;
	display: block;
	margin: 0;
	border-radius: .5rem !important;
}

.form-check-input:checked[type=radio] {
	background-image: url(../images/menu/tick.svg);
}
/* Restyling a Radio button Bootstrap supply a background image with colour $component-active-color (which is blue) 
    the default radio button image is like a doughnut, which can be replaced or ommitted for a solid blob
*/
/*.form-check-input:checked {
    background-color:#0a0;
    border-color:#0a0;
    background-image:none;
}*/

.form-check label {
	padding: .6rem 0 0 .4rem;
}

.form-check-inline {
	margin-right: .5rem;
}
/* Sticky footer styles
-------------------------------------------------- */
html {
	font-size: 14px;
}

@media (min-width: 768px) {
	html {
		font-size: 16px;
	}
}

.border-top {
	border-top: 1px solid #e5e5e5;
}

.border-bottom {
	border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
	box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

button.accept-policy {
	font-size: 1rem;
	line-height: inherit;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
	position: relative;
	min-height: 100%;
}

body {
	margin: 0;
	padding: 0;
	font-family: Roboto, sans-serif;
	font-size: 16px;
	line-height: 1.4em;
	/*width: 99vw;*/
}


/* Footer */

.footer-bar {
	bottom: 0;
	width: 100%;
	background-color: var(--footerBackground);
}

.footer-bar a {
	color: #fff;
	background-color: initial !important;
	text-decoration: none;
}
.footer-bar a:hover {
	color: #fff;
	background-color: initial !important;
	text-decoration: none;
}

.icon-bar {
	border-bottom: 1px solid #fff;
	padding: 10px 20px;
}

/* font awesome brands */
.fab {
	color: var(--footerBackground);
	background-color: #fff;
	border-radius: 50%;
	font-size: 1.5rem; /*2.2rem;*/
	width: 2.8rem; /*4rem;*/
	height: 2.8rem; /*4rem;*/
	line-height: 3rem !important; /*4rem*/
	padding: 0 .7rem; /*0 1rem*/
}

.fa-youtube {
	padding-left: .6rem; /* .8 it's a wide icon! */
}

.vertical-middle {
	margin: auto 0;
}


.footer-menu div {
	display: block;
}

.footer-menu h3 {
	font-size: 18px;
	font-weight: 600;
	padding: 10px 0;
	color: var(--headingText) !important;
}

.footer-menu, .footer-menu a {
	font-size: 14px;
	color: var(--linkText);
}

.statutory {
	padding: 10px 20px;
	background-color: var(--altBackground);
}

.icon-bar-content, .statutory-content, .footer-menu {
	display: flex;
	justify-content: space-between;
	color: #fff;
	max-width: 1140px;
	margin: 0 auto;
	align-items: center;
}

.icon-bar-content img {
	height: 3rem; /*38px;*/
}

.accreditations img {
	height: 60px;
	margin: 2rem 1rem 2rem 0;
}

.legal {
	margin: auto 0;
}

.legal div {
	text-align: right;
}

.footer-div {
	text-align: center;
	border-bottom: 1px solid var(--textColour);
	margin-bottom: 1rem;
}

.footer-bar a {
	background-color: initial !important;
}

.footer-bar a:focus,
.footer-bar a:focus-visible {
	outline: 2px dashed var(--altBackground); /*contrast dashed focus */
	outline-offset: 2px;
	background-color: #e6f0ff !important; /* light blue background highlight */
	border-radius: 4px;
}

.footer-bar .statutory a:focus,
.footer-bar .statutory a:focus-visible {
	outline: 2px dashed var(--footerBackground); /*slightly softer dashed focus */
	outline-offset: 2px;
	background-color: #e6f0ff !important; /* light blue background highlight */
	border-radius: 4px;
}

.footer-bar a:focus:not(:focus-visible) {
	outline: none;
}




/*
.footer {
	position: relative;
	bottom: 0;
}

.footer-bar {
	width: 100%;
	background-color:#00283c;
}

.footer-bar a {
	color: #fff;
	text-decoration: none;
}	

.footer-div {
	border:none;
	margin:0;
	text-align: center;
}

.vertical-middle {
	margin: 0;
}

.icon-bar {
	border-bottom: 1px solid #fff;
	padding: 10px 20px;
}

.icon-bar-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.icon-bar-content img {
	height: 3rem;
}

.statutory {
	padding: 10px 20px;
	background-color: #0072bc
}

.statutory-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #fff;
}

.accreditations img {
	height:60px;
	margin: 2rem 1rem 2rem 0;
}

.legal {
	margin: auto 0;
}

*/

/* JS Styling */
#js-form {
	/*max-height: 100vh; */
	overflow: hidden;
	transition: max-height 1s ease, opacity 1s ease, padding 1s ease, margin 1s ease;
	opacity: 1;
}

#js-form.collapsed {
	max-height: 0;
	opacity: 0;
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0;
	margin-bottom: 0;
}

#js-form.disabled {
	pointer-events: none;
}


.js-show {
	display: block;
}

.js-hide {
	display: none!important;
}

.js-slide-element {
	max-height: 1000px;
	opacity: 1;
	overflow: hidden;
	transition: max-height 1.3s ease-in-out, opacity 1.2s ease-in-out;
}

.js-slide {
	max-height: 0 !important;
	opacity: 0 !important;
}

.filelist {
	/* need 'flex' for spacing, 'none' to hide before any images selected */
	display: flex;
	justify-content: space-between;
	font-size: .8rem;
}

.filelist div {
	display: inline-block;
	margin: 4px;
}

.ui-autocomplete {
	max-height: 10rem;
	overflow-y: auto;
	overflow-x: hidden;
}

label + .text-danger {
	float: right;
}

.logo {
	height: 50px;
}

#content {
	/*padding: 8rem 0 4rem 0;
	background-color: #0072BC;*/
	min-height: calc(100vh - (98px + 248px)) ;
}

/*.master-form {
	border: 25px;
	border-radius: 25px;
	color: #192d37;
	padding: 40px;
}*/
h1 {
	font-weight:300;
	color: #0072bc;
	font-size: 2.4rem;
}


.em {
	color: #0072bc;
	font-style:italic;
}

.zte {
	line-height: initial;
}

.hidden {
	display: none;
}

.success {
	color: #0a0;
}

.failure {
	color: #e00;
}

.failure > span,
#sim-activation div > span:first-child {
	display: inline-block;
	width: 100px;
}

.repair-success {
	margin: 1rem 0;
	padding: 2rem;
	background-color: #efe;
	border-radius: 2rem;
	font-size: 1.2rem;
	text-align: center;
}

.bold {
	font-weight: bold;
}

.normal {
	font-weight: normal;
}
.odd, .even {
	display: block;
}
.odd {
	background-color: #fdfdfd;
}

.even {
	background-color: #f5f5f5;
}

.listfilter {
	display:inline-block;
	padding: 0 0.5rem;
	border-right: 1px solid gray;
}

	.listfilter:hover {
		background: palegreen;
		cursor: pointer;
	}

.hidden {
	display: none;
}

.repair-success span {
	font-weight: bold;
}

input[type=file],
input[type=text],
input[type=email],
input[type=password],
td textarea {
	width: 300px;
	padding: 10px;
	margin: 0 0 10px 0;
	background-color: #f5f8fa;
	border-radius: 4px;
	border: 1px solid #848484;
}

input[type=radio] {
	margin: 10px 0;
}

td h2 {
	margin: 1.5rem 0 .1rem -1rem;
}

td .important {
	max-width: 700px;
}

.important {
	margin: 0 20px;
	font-size: .9rem;
	font-style: italic;
}

.important span {
	color: #f00;
	font-size: 1rem;
	font-style: normal;
	font-weight: bold;
}

.help-msg {
	font-size: .95rem;
	color: #333;
	height: 32px;
	overflow: visible;
	line-height: 4.6rem;
	vertical-align: bottom;
}

.curved {
	width: 230px;
	margin: 6px 0 10px -1px;
	text-align: center;
	height: 50px;
	border: none;
	border-radius: 100px;
	background-color: #81c14b;
	font-size: 20px;
	color: #fff;
}

.curved:hover {
	background-color: #0072BC;
}

a.index-card {
	color: #212529;
	text-decoration: none;
	max-width: 400px;
	width: 400px;
	height: 400px;
	border: 1px solid #ccc;
	border-radius: 2rem;
	box-shadow: 2px 2px 12px rgba(0,0,0,0.1);
	text-align: center;
	padding: 16px;
	transition: transform 0.2s;
	margin: 1rem auto;
	justify-content: center;
	color: #212529;
	text-decoration: none;
}

.index-card:hover {
	background-color: #eee;
}

.index-card:hover .curved{
	background-color:#0072BC
}

.index-card img {
	width: 50%;
	margin: 0 50% 0 0;
}
.index-card .curved {
	margin: 1rem auto;
	align-content: center;
}

.flex-row {
	display: flex;
	flex-wrap:wrap;
	justify-content:space-between;
}


.disabled {
	background-color: #ccc !important;
}

.left, .sim-left {
	width: 380px;
	float: left;
}

.sim-left {
	width: 330px;
}

.sim-button {
	margin: 20px 0 0 -20px;
}

.right {
	width: 340px;
	float: right;
}

.clear {
	clear: both;
}

.hide {
	display: none;
}

.show {
	display: block;
}

tr:nth-of-type(6) {
	visibility: collapse;
}

.nav,
.nav-zte{
	margin: 0 1px 0 0;
	padding: 10px;
	font-size: 1.1rem;
	border-radius: 10px 10px 0 0;
}
.zte-right {
	text-align:right
}

/*ZTE*/
tr.inactive {
	background-color: #fdd;
/*}

tr.inactive td.inactive {*/
	pointer-events:none;
}
tr.inactive a {
	font-size:0;
}

.Clicked {
	margin: 0 1px 0 0;
	padding: 10px;
	font-size: 1.1rem;
	border-radius: 10px 10px 0 0;
	background-color: #81c14b;
}

/* Onsite Repair */
.row, .col {
	width: 100%;
	display:flex;
	justify-content:space-between;
	
}

.row .left,
.row .right {
	width: 46%;
}

.flex-col h2,
.row h2,
.col h2 {
	width: 100%;
	padding-top: 1.5rem;
	margin-top: 0;
	border-top: 1px solid #848484;
}
h1+p {
	margin-bottom:.1rem;
}

.col {
	flex-flow:column;
}

.col p {
	margin: 0 0 -2rem 0;
}

.row input[type=file],
.row input[type=date],
.row input[type=text],
.row input[type=email],
.row input[type=password],
.col textarea {
	width: 94%;
	padding: 10px;
	margin: 0 0 10px 0;
	background-color: #f5f8fa;
	border-radius: 4px;
	border: 1px solid #848484;
}

.col textarea {
	width: 97.3%; /* not sure why text areas have sizing issues? */
}

.ulList {
	font-weight: bold;
}

.ulList ul {
	margin: .1rem;
	font-weight: 100;
}
.ulList ul li:last-of-type {
	margin: .1rem .1rem .6rem .1rem;
	font-weight: 100;
}

/* Invalid field styling */
.required-indicator {
	color: #d73527;
	font-weight: bold;
	margin-left: .3rem;
}

.field-invalid {
	border-color: #d73527 !important;
}

.error-message {
	color: #d73527;
	font-size: 14px;
	margin: -.6rem 0 .6rem 0;
	display: none;
}

button {
	background-color: #0073aa;
	color: white;
	padding: 12px 24px;
	border: none;
	border-radius: 4px;
	font-size: 16px;
	cursor: pointer;
	transition: all 0.3s ease;
}

button:disabled {
	background-color: #ccc;
	cursor: not-allowed;
	opacity: 0.6;
}

button:not(:disabled):hover {
	background-color: #005a87;
}

button:not(:disabled):focus {
	outline: 2px solid #0073aa;
	outline-offset: 2px;
}

section.disabled {
	border-radius :10px;
	pointer-events: none; 
	opacity: 0.4; 
	background-color:transparent!important;
}

.status-message {
	margin: 1rem 0;
	padding: 10px;
	border-radius: 4px;
	font-size: 14px;
}

.status-empty {
	border: 1px solid transparent;
}

.status-incomplete {
	background-color: #ffdddd;
	border: 1px solid #ff0000;
	color: #dd0000;
}

.status-complete {
	background-color: #d1edff;
	border: 1px solid #0000dd;
	color: #0c5460;
}

.status-has-id {
	background-color: #ddffdd;
	border: 1px solid #00dd00;
	color: #0c5460;
}

.supporting {
	font-size:1.3rem;
	color:#00aa00;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

footer {
	background-color: #192d37;
	color: #fff;
	text-align: center;
	padding: 20px 0 0 0;
	min-height: 100px;
}

footer .left {
	padding: 20px;
}


/*#reset */


label {
	cursor: pointer;
	margin-right: 20px;
	padding: 5px;
	display: inline-block;
	vertical-align: middle;
}

input[type="radio"]+label {
	/*color:red;*/
	letter-spacing: .031rem;
}

input[type="radio"]+label:hover {
	font-weight: bold;
	overflow-inline: hidden;
	letter-spacing: normal;
}

input[type="radio"] {
	margin-right: 8px;
	vertical-align: middle;
	cursor: pointer;
}

input[type="radio"]:hover {
	transform: scale(1.2);
}


input[type="radio"][value="Yes"] + label {
	color: green;
}

input[type="radio"][value="No"]+label {
	color: red;
}
/* end #reset */

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.obscured {
	visibility:hidden;
}