/** Empty CSS file for your own CSS */

.bd-placeholder-img {
	font-size: 1.125rem;
	text-anchor: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.code {
	font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: 87.5%;
	color: #3a3b45;
	word-wrap: break-word;
}

.body-topbar {
        min-height: 10rem;
        padding-top: 5.5rem;
}

.page-container {
	position: relative;
	min-height: 100vh;
}

#content-wrap {
	padding-bottom: 4.5rem;    /* Footer height */
  }
  
#footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 4.5rem;            /* Footer height */
  }


@media (min-width: 768px) {
	.bd-placeholder-img-lg {
		font-size: 3.5rem;
	}
}

.navbar-toggler-i {
	display: inline-block;
	height: 1.2em;
	vertical-align: middle;
	content: "";
	background: no-repeat center center;
	background-size: 100% 100%;
	background-color: #eeeeee;
}

.navbar-toggler {
	padding: 0.5em;
	display: inline-block;
	background-color: #eeeeee;
	border: 1px solid #999999;
	border-radius: 0.25rem;

}

.form-boxed {
	width: 100%;
	max-width: 500px;
	padding: 15px;
	margin: auto;
}

.form-boxed .checkbox {
	font-weight: 400;
}

.form-boxed .form-control {
	position: relative;
	box-sizing: border-box;
	height: auto;
	padding: 5px;
}

.form-boxed .form-control:focus {
	z-index: 2;
}

.bg-gradient-gray-transp {
    background-color: #d8d8d85e;
    background-image: linear-gradient(180deg, #6f6f6f3d 10%, #54322063 50%);
    background-size: cover;
    border: 1px solid #929292;
}


/*-------------------------
	The buttons
--------------------------*/


.progress-button {
	display: inline-block;
	font-size: 1.2rem;
	color: #fff !important;
	text-decoration: none !important;
	padding: 10px 30px;
	line-height: 1;
	overflow: hidden;
	position: relative;
	box-shadow: 0 1px 1px #ccc;
	border-radius: 5px;
	background-color: #4e73df;
}

/*	Hide the original text of the button. Then the loading or finished
	text will be shown in the :after element above it. */

.progress-button.in-progress,
.progress-button.finished {
	color: transparent !important;
}

.progress-button.in-progress:after,
.progress-button.finished:after {
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 100%;
	text-align: center;
	top: 0;
	padding-top: inherit;
	color: #fff !important;
	left: 0;
}

/*	If the .in-progress class is set on the button, show the
	contents of the data-loading attribute on the butotn */

.progress-button.in-progress:after {
	content: attr(data-loading);
}

/* The same goes for the .finished class */

.progress-button.finished:after {
	content: attr(data-finished);
}

/* The colorful bar that grows depending on the progress */

.progress-button .tz-bar {
	background-color: #f38d24;
	height: 3px;
	bottom: 0;
	left: 0;
	width: 0;
	position: absolute;
	z-index: 1;

	border-radius: 0 0 2px 2px;

	-webkit-transition: width 0.5s, height 0.5s;
	-moz-transition: width 0.5s, height 0.5s;
	transition: width 0.5s, height 0.5s;
}

/* The bar can be either horizontal, or vertical */

.progress-button .tz-bar.background-horizontal {
	height: 100%;
	border-radius: 2px;
}

.progress-button .tz-bar.background-vertical {
	height: 0;
	top: 0;
	width: 100%;
	border-radius: 2px;
}


.has-error {
	border-width: 2px;
	border-radius: 2px;
	border-color: red;
}

.action_fa {
	padding: 3px;
}

.dashboard-btn {
	background: #3D94F6;
	background-image: -webkit-linear-gradient(top, #3D94F6, #1E62D0);
	background-image: -moz-linear-gradient(top, #3D94F6, #1E62D0);
	background-image: -ms-linear-gradient(top, #3D94F6, #1E62D0);
	background-image: -o-linear-gradient(top, #3D94F6, #1E62D0);
	background-image: linear-gradient(to bottom, #3D94F6, #1E62D0);
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	height: 150px;
	color: #FFFFFF;
	width: 150px;
	padding: 15px;
	margin: 5px;
	box-shadow: 1px 1px 7px 0px #000000;
	-webkit-box-shadow: 1px 1px 7px 0px #000000;
	-moz-box-shadow: 1px 1px 7px 0px #000000;
	border: solid #18365f 1px;
	display: inline-block;
	cursor: pointer;
	text-align: center;
}
.dashboard-btn:hover {
	color: #cacaca;
	background: #153d7e;
	border: solid #18365f 1px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}

.logo {
	width: 120px;
}


/* Exclusão do texto de actions quando a tela for pequena */
.action-text {
	padding-left: 6px;
}
@media (max-width: 768px) {
    .action-text { display: none; }
}

.celula {
	display: block;
    width: 100%;
    padding: 0.2rem 0.5rem;
    font-size: 0.8rem;
    line-height: 1.2;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
}

.celula:disabled, .celula[readonly] {
	background-color: #e9ecef;
    opacity: 1;
}

  
.select-fawesome {
	font-family:  'sans-serif', 'Font Awesome 5 Free';
	font-weight: 900;
  }


/* Menu de escolha de ambientes */

.nav-active {
	border-radius: 0.5rem;
	background-image: linear-gradient( #e2e2e2,#9c9c9c);
}

/* The sidepanel menu */
.zoneSidePanel {
	height: 100vh; /* Specify a height */
	width: 0; /* 0 width - change this with JavaScript */
	position: fixed; /* Stay in place */
	z-index: 1; /* Stay on top */
	top: 0;
	left: 0;
	overflow-x: hidden; /* Disable horizontal scroll */
	padding-top: 75px; /* Place content 60px from the top */
	transition: 0.5s; /* 0.5 second transition effect to slide in the sidepanel */
  }

  .rightpanel {
	height: 100vh; /* Specify a height */
	width: 0; /* 0 width - change this with JavaScript */
	position: fixed; /* Stay in place */
	z-index: 1; /* Stay on top */
	top: 0;
	right: 0;
	overflow-x: hidden; /* Disable horizontal scroll */
	padding-top: 75px; /* Place content 60px from the top */
	transition: 0.5s; /* 0.5 second transition effect to slide in the sidepanel */
  }

  .navbar-nowrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1rem;
  }

/* botoes para automacao */

.btn-tv-icon {
	border-radius: 10px !important;
	width: 80px;
	height: 80px;
	font-size: 0.8rem;
    border-width: 2px;
    margin: .3rem .3rem;
    word-break: break-word;
}

.tv-icon {
	border-radius: 10px !important;
	width: 40px;
}

.btn-tv-num {
	border-radius: 10px !important;
	padding-right: 5px !important;
	padding-left: 5px !important;
	text-align: center;
	width: 50px;
	border-width: 2px;
	font-style: normal;
	letter-spacing: 1px;
	margin: .3rem .6rem;
	white-space: normal;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	word-break: break-word;
}

.btn-tv-lg {
	border-radius: 15px !important;
	padding-right: 5px !important;
	padding-left: 5px !important;
	text-align: center;
	width: 200px;
    border-width: 2px;
    font-style: normal;
    letter-spacing: 1px;
    margin: .3rem .6rem;
    white-space: normal;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    word-break: break-word;
}

.btn-tv-nav {
	border-radius: 15px !important;
	padding-right: 5px !important;
	padding-left: 5px !important;
	text-align: center;
	width: 100px;
    border-width: 2px;
    font-style: normal;
    letter-spacing: 1px;
    margin: .3rem .6rem;
    white-space: normal;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    word-break: break-word;
}

.icon-caption {
	float:left;
	width: 60px;
	text-align:center;
}

.btn-modulos {
	border-radius: 10px !important;
	padding-right: 5px !important;
	padding-left: 5px !important;
	text-align: center;
	width: 150px;
    border-width: 2px;
    font-style: normal;
    letter-spacing: 1px;
    margin: .3rem .6rem;
    white-space: normal;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    word-break: break-word;

}

.extrabtn-icon {
	max-width: 100px;
}


.onoffswitch {
    position: relative; width: 100px;
    -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
}
.onoffswitch-checkbox {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.onoffswitch-label {
    display: block; overflow: hidden; cursor: pointer;
	border: 2px solid #999999; border-radius: 14px;
	text-align: left;
}
.onoffswitch-inner {
    display: block; width: 200%; margin-left: -100%;
    transition: margin 0.3s ease-in 0s;
}
.onoffswitch-inner:before, .onoffswitch-inner:after {
    display: block; float: left; width: 50%; height: 30px; padding: 0; line-height: 30px;
    font-size: 12px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold;
    box-sizing: border-box;
}
.onoffswitch-inner:before {
    content: "Ligado";
    padding-left: 10px;
    background-color: #EEEEEE; color: #4D4848;
}
.onoffswitch-inner:after {
    content: "Desligado";
    padding-right: 10px;
    background-color: #EEEEEE; color: #999999;
    text-align: right;
}
.onoffswitch-switch {
    display: block; width: 15px; height: 15px; margin: 8px;
    background: #A1A1A1;
    position: absolute; top: 2px;
    right: 70px;
    border: 2px solid #999999; border-radius: 8px;
    transition: all 0.3s ease-in 0s;
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
    margin-left: 0;
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
    right: 0px;
    background-color: #18F723;
}


.snapshot {
  max-width: 100%;
  height: auto;
}



.slidecontainer {
  width: 100%; /* Width of the outside container */

}

/* The slider itself */
.slider {
  -webkit-appearance: none;  /* Override default CSS styles */
  appearance: none;
  width: 90%; /* Full-width */
  height: 10px;
  border-radius: 5px;
  background: #b3b3b3; /* Grey background */
  border: 2px solid #110300;
  outline: none; /* Remove outline */
  opacity: 0.7; /* Set transparency (for mouse-over effects on hover) */
  -webkit-transition: .2s; /* 0.2 seconds transition on hover */
  transition: opacity .2s;
  margin: 10px;
}

/* Mouse-over effects */
.slider:hover {
  opacity: 1; /* Fully shown on mouse-over */
}

/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */
.slider::-webkit-slider-thumb {
  -webkit-appearance: none; /* Override default look */
  appearance: none;
  width: 28px; /* Set a specific slider handle width */
  height: 28px; /* Slider handle height */
  border-radius: 50%;
  background: #ececec;
  border: 2px solid #110300;
  cursor: pointer; /* Cursor on hover */
}

.sliders::-moz-range-thumb {
  width: 28px; /* Set a specific slider handle width */
  height: 28px; /* Slider handle height */
  background: #ececec;
  border: 2px solid #110300;
  cursor: pointer; /* Cursor on hover */
}

/* mobile browser double tap zoom disabled */
button {
	touch-action: manipulation;
  }


.text-gold {
color: #e1bc55;
}

a.text-gold:hover, a.text-gold:focus {
color: #5e4b17;
}

.img-device {
	padding: 0.25rem;
	border: 2px solid #0f395f;
	border-radius: 100%;
	max-width: 100%;
	height: auto;
}

.device-on {
	background-color: #f6e882;
}

.card-tv {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	word-wrap: break-word;
	border: solid;
	border-radius: 2.0rem;
	border-width: 3px;
	overflow: hidden;
}

.card-dimmer {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	word-wrap: break-word;
	border: 3px solid #0f395f;
	border-radius: 4.0rem;
}

.bg-card-tv {
	border: 2px solid #0f395f;
}

.bg-card-atlante {
	border: 2px solid #0f395f;
	border-radius: 2.0rem;

}

.radius-xl {
	border-radius: 2.0rem;
}

.btn-rounded {
	border-radius: 1.5rem;
	border: 3px solid;
}


/* o-nav buttons from https: //codepen.io/tswone/pen/GLzZLd */
.set {
	overflow: hidden;
	padding: 10px;
	text-align: center;
}

.o-pad {
	display: inline-block;
	position: relative;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	overflow: hidden;

	&:after {
		content: '';
		position: absolute;
		z-index: 2;
		width: 50%;
		height: 50%;
		top: 50%;
		left: 50%;
		border-radius: 50%;
		transform: translate(-50%, -50%);
		transition: all .25s;
		cursor: pointer;
		display: block;
		background: #ccc;
	}

	button {
		display: block;
		position: absolute;
		-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
		width: 51%;
		height: 51%;
		text-align: center;
		transform: rotate(45deg);

		&:before {
			content: '';
			position: absolute;
			width: 60%;
			height: 60%;
			top: 50%;
			left: 50%;
			border-radius: 50%;
			transform: translate(-50%, -50%);
			transition: all .25s;
			cursor: pointer;
			display: none;
		}

		&:after {
			content: '';
			position: absolute;
			width: 0;
			height: 0;
			border-radius: 5px;
			border-style: solid;
			transform: translate(-50%, -50%) rotate(-45deg);
			transition: all .25s;
		}
	}

	button.up {
		bottom: 50%;
		left: 50%;
		transform: translate(-50%, -20%) rotate(45deg);
		border-top-left-radius: 50%;
		z-index: 1;

		&:hover {
			background: linear-gradient(315deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, .4) 100%);
		}

		&:before {
			left: 57%;
			top: 57%;
		}

		&:after {
			left: 53%;
			top: 53%;
			border-width: 0px 13px 19px 13px;
			border-color: transparent transparent #ccc transparent;
		}

		&:active:after {
			border-bottom-color: #333;
		}
	}



	button.down {
		top: 50%;
		left: 50%;
		transform: translate(-50%, 20%) rotate(45deg);
		border-bottom-right-radius: 50%;
		z-index: 1;

		&:hover {
			background: linear-gradient(135deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, .4) 100%);
		}

		&:before {
			left: 43%;
			top: 43%;
		}

		&:after {
			left: 47%;
			top: 47%;
			border-width: 19px 13px 0px 13px;
			border-color: #ccc transparent transparent transparent;
		}

		&:active:after {
			border-top-color: #333;
		}
	}

	button.left {
		top: 50%;
		right: 50%;
		transform: translate(-20%, -50%) rotate(45deg);
		border-bottom-left-radius: 50%;
		z-index: 1;

		&:hover {
			background: linear-gradient(225deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, .4) 100%);
		}

		&:before {
			left: 57%;
			top: 43%;
		}

		&:after {
			left: 53%;
			top: 47%;
			border-width: 13px 19px 13px 0px;
			border-color: transparent #ccc transparent transparent;
		}

		&:active:after {
			border-right-color: #333;
		}
	}

	button.right {
		top: 50%;
		left: 50%;
		transform: translate(20%, -50%) rotate(45deg);
		border-top-right-radius: 50%;
		z-index: 1;

		&:hover {
			background: linear-gradient(45deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, .4) 100%);
		}

		&:before {
			left: 43%;
			top: 57%;
		}

		&:after {
			left: 47%;
			top: 53%;
			border-width: 13px 0 13px 19px;;
			border-color: transparent transparent transparent #ccc;
		}

		&:active:after {
			border-left-color: #333;
		}
	}

	button:hover:after {
		left: 50%;
		top: 50%;
	}

	button.okconfirm {
		width: 40%;
		height: 40%;
		bottom: 30%;
		left: 30%;
		border-radius: 50%;
		z-index: 5;

		&:hover {
			border: 4px solid rgba(255, 255, 255, .6);
		}

		&:after {
			left: 50%;
			top: 50%;
			border-width: 13px;
			border-color: #ccc;
			border-radius: 50%;
		}

		&:active:after {
			border-color: #333;
		}
	}
}

/* opções de cores*/
.primary {
	.o-pad{
		background: #0f395f;
		border: 2px solid rgba(255, 255, 255, .6);
		button {
			border: 2px solid rgba(255, 255, 255, .6);
			background: #0f395f;
		}
	}
}

.secondary {
	.o-pad {
		background: #858796;
		border: 2px solid rgba(255, 255, 255, .6);

		button {
			border: 2px solid rgba(255, 255, 255, .6);
			background: #858796;
		}
	}
}



.warning {
	.o-pad {
		background: #f6c23e;
		border: 2px solid rgba(255, 255, 255, .6);

		button {
			border: 2px solid rgba(255, 255, 255, .6);
			background: #f6c23e;
		}
	}
}

.danger {
	.o-pad {
		background: #e74a3b;
		border: 2px solid rgba(255, 255, 255, .6);

		button {
			border: 2px solid rgba(255, 255, 255, .6);
			background: #e74a3b;
		}
	}
}

.dark {
	.o-pad {
		background: #3a3b45;
		border: 2px solid rgba(255, 255, 255, .4);

		button {
			border: 2px solid rgba(255, 255, 255, .4);
			background: #3a3b45;
			;
		}
	}
}

.light {
	.o-pad {
		background: #f8f9fc;
		border: 2px solid #4d4e4f;
		button {
			border: 2px solid #4d4e4f;
			background: #f8f9fc;
		}
		&:after {
			background: #4d4e4f;
		}

		button.up {
			&:after {
				border-color: transparent transparent #898989 transparent;
			}
			&:hover {
				background: linear-gradient(315deg, rgba(25, 25, 25, 0) 15%, rgba(25, 25, 25, .4) 100%);
			}
			&:active:after {
				border-bottom-color: #111;
			}
		}

		button.down {
			&:after {
				border-color: #898989 transparent transparent transparent;
			}

			&:hover {
				background: linear-gradient(135deg, rgba(25, 25, 25, 0) 15%, rgba(25, 25, 25, .4) 100%);
			}
			&:active:after {
				border-top-color: #111;
			}
		}

		button.left {
			&:after {
				border-color: transparent #898989 transparent transparent;
			}
			&:hover {
				background: linear-gradient(225deg, rgba(25, 25, 25, 0) 15%, rgba(25, 25, 25, .4) 100%);
			}
			&:active:after {
				border-right-color: #111;
			}
		}

		button.right {
			&:after {
				border-color: transparent transparent transparent #898989 ;
			}

			&:hover {
				background: linear-gradient(45deg, rgba(25, 25, 25, 0) 15%, rgba(25, 25, 25, .4) 100%);
			}
			&:active:after {
				border-left-color: #111;
			}
		}

		button.okconfirm {
			&:after {
				border-color: #898989;
			}

			&:hover {
				background: #bbbbbb;
			}

			&:active:after {
				border-color: #111;
			}
		}
	}
}


/* set direction active state */

.o-pad.up button.up:after {
	border-bottom-color: #333;
}

.o-pad.down button.down:after {
	border-top-color: #333;
}

.o-pad.left button.left:after {
	border-right-color: #333;
}

.o-pad.right button.right:after {
	border-left-color: #333;
}


/* classes do gauge element */
.actionbtn {
	position: absolute;
	top: 75%;
	width: 100%;

}


/* Classes do slider do ar-condicionado */

/* The slider container */
.tempSliderCont {
	width: 100%;
	position: relative;
}

/* The slider itself */
.tempSlider {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 10px;
	background: #0f395f00;
	-webkit-transition: .2s;
	transition: .2s;
	position: absolute;
	top: 0px;
	left: 0px;
}

/* The slider handle for webkit browsers (Chrome, Safari, etc.) */
.tempSlider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	border: 2px solid #050606;
	height: 30px;
	width: 30px;
	margin-top: -12px; 
	/* Adjusted to center the thumb */
	border-radius: 50%;
	background: #b4b4b4;
	cursor: pointer;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
	/* Added shadow for better visibility */
}

/* The slider handle for Firefox */
.tempSlider::-moz-range-thumb {
	border: 2px solid #050606;
	height: 30px;
	width: 30px;
	border-radius: 50%;
	background: #b4b4b4;
	cursor: pointer;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
	/* Added shadow for better visibility */
}

/* Ensure consistency across browsers for track */
.tempSlider::-webkit-slider-runnable-track {
	width: 100%;
	height: 10px;
	background: #0f395f00;
	border: none;
	border-radius: 0;
}

.tempSlider::-moz-range-track {
	width: 100%;
	height: 10px;
	background: #0f395f00;
	border: none;
	border-radius: 0;
}

/* Ensure no outline on focus */
.tempSlider:focus {
	outline: none;
}

.slider-labels {
	display: flex;
	justify-content: space-between;
	position: absolute;
	width: 100%;
	top: 20px;
	/* Adjust based on slider height */
	left: 0;
	pointer-events: none;
	font-size: 12px;
	/* Adjust as needed */
}

.slider-labels span {
	position: relative;
	text-align: center;
	flex: 1;
}

.tempBox {
	padding: 1rem;
	background-color: #d1d3e2;
	border-radius: 1.45rem;

}

.tempBox {
	padding: 1rem;
	border-radius: 1.45rem;
}

.tempBg-primary {
	background-color: #d1d3e2;
}

.tempBg-secondary {
	background-color: #d1d3e2;
}

.tempBg-success {
	background-color: #d1d3e2;
}

.tempBg-info {
	background-color: #d1d3e2;
}

.tempBg-warning {
	background-color: #1f1f1f;
}

.tempBg-danger {
	background-color: #d1d3e2;
}

.tempBg-light {
	background-color: #393939;
}

.tempBg-dark {
	background-color: #d1d3e2;
}


datalist {
	display: flex;
	justify-content: space-between;
	width: 100%;
	/* top | right | bottom | left */
	padding: 20px 10px 0px 5px ;

}

.bg-atlante {
	background-color: #0f395f;
}

