:root {
	--primary-color: #ff471a;
	--secondary-color: #536390;
	--font-color: #333;
	--font2-color: #f9f9f9;
	--font3-color: #444;
	--bg-color: #fff;
	--bg-color-t: rgba(255, 255, 255, .9);
	--bg-color-a: rgba(255, 255, 255, .95);
	--bg-color-b: rgba(255, 255, 255, .97);
	--bg-color-btn: rgba(111, 111, 111, .7);
	--bg-color-btn-h: rgba(111, 111, 111, .4);
	--heading-color: #292922;
}

[data-theme="dark"] {
	--primary-color: #ff471a;
	--secondary-color: #818cab;
	--font-color: #e1e1e1;
	--bg-color: #161625;
	--bg-color-t: rgba(22, 22, 37, .9);
	--bg-color-a: rgba(222, 222, 222, .6);
	--bg-color-b: rgba(111, 111, 111, .97);
	--bg-color-btn: rgba(222, 222, 222, .6);
	--bg-color-btn-h: rgba(255, 255, 255, .8);
	--heading-color: #818cab;
}

.modal-content {
	background-color: var(--bg-color-b);
}

.modal-body label {
	color: var(--font3-color);
}

.card {
	background-color: var(--bg-color-b);
}

.u_icon {
	background-color: var(--primary-color);
	display: inline-block;
	width: 1.4rem;
	height: 1.4rem;
	position: relative;
	background-position: center;
	background-size: contain;
}

.pu_icon {
	background-color: var(--primary-color);
	display: inline-block;
	width: 3.4rem;
	height: 3.4rem;
	position: relative;
	background-position: center;
	background-size: contain;
	margin-right: 15px;
	margin-bottom: 15px;
}

.u_icon span {
	position: absolute;
	top: 49%;
	right: 49%;
	transform: translate(50%, -50%);
	font-weight: 100;
	font-size: 88%;
	color: #fff;
	z-index: 9;
}

.media_icon_gif {
	/* width: 4rem; */
	max-height: 3rem;
}

.logo {
	position: relative;
}

.logo::after {
	content: attr(data-label);
	position: absolute;
	bottom: 0;
	right: 0;
	font-size: 50%;
	font-weight: 700;
	color: #777;
	text-transform: uppercase;
}

.container.media {
	position: relative;
}

.container.inzone::after {
	font-family: bootstrap-icons !important;
	font-size: 500%;
	content: '\f603';
	background-color: rgba(240, 49, 49, 0.33);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

td[data-col="bill_pdf"] {
	color: var(--secondary-color);
}

td[data-col="bill_pdf"]:hover {
	cursor: pointer;
}

/* Layout */

.home .card {
	min-height: 400px;
	max-width: 300px;
}

.s-layout {
	display: flex;
	width: 100%;
	min-height: min(100vh, 100rem);
}

.s-layout__content {
	display: flex;
	/* justify-content: center;
    align-items: center; */
	flex: 1;
	overflow: auto;
	min-height: min-content;
}

/* Sidebar start */

.s-sidebar__trigger {
	z-index: 6;
	position: fixed;
	top: 0;
	left: 0;
	width: 4em;
	height: 4em;
	background: var(--secondary-color);
}

.s-sidebar__trigger>i {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 4em;
	height: 4em;
	color: #fff;
}

.s-sidebar__trigger>i::before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 1.5rem;
	z-index: 6;
}

.s-sidebar__nav {
	position: fixed;
	top: 0;
	left: -15em;
	overflow: auto;
	transition: all .3s ease-in;
	width: 15em;
	height: 100%;
	background: var(--secondary-color);
	color: rgba(255, 255, 255, 0.7);
	z-index: 5;
}

.s-sidebar__nav:hover,
.s-sidebar__nav:focus,
.s-sidebar__trigger:focus+.s-sidebar__nav,
.s-sidebar__trigger:hover+.s-sidebar__nav {
	left: 0;
}

.s-sidebar__nav ul {
	position: absolute;
	top: 4em;
	left: 0;
	margin: 0;
	padding: 0;
	width: 15em;
}

.s-sidebar__nav ul li {
	width: 100%;
}

.s-sidebar__nav-link {
	position: relative;
	display: inline-block;
	width: 100%;
	height: 4em;
	color: #fff;
}

.s-sidebar__nav-link span {
	position: absolute;
	display: inline-block;
	top: 50%;
	left: 4em;
	transform: translateY(-50%);
}

.s-sidebar__nav-link:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

nav.s-sidebar__nav li.active a {
	background: rgba(255, 255, 255, 0.1);
}

.s-sidebar__nav-link>i {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 4em;
	height: 4em;
}

.s-sidebar__nav-link>i::before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 1.5rem;
}


/* Mobile First */

@media screen and (min-width: 42em) {
	.s-layout__content {
		margin-left: 4em;
	}

	/* Sidebar */
	.s-sidebar__trigger {
		width: 4em;
	}

	.s-sidebar__nav {
		width: 4em;
		left: 0;
	}

	.s-sidebar__nav:hover,
	.s-sidebar__nav:focus,
	.s-sidebar__trigger:hover+.s-sidebar__nav,
	.s-sidebar__trigger:focus+.s-sidebar__nav {
		width: 15em;
	}
}

@media screen and (min-width: 68em) {
	.s-layout__content {
		margin-left: 15em;
	}

	/* Sidebar */
	.s-sidebar__trigger {
		display: none
	}

	.s-sidebar__nav {
		width: 15em;
	}

	.s-sidebar__nav ul {
		top: 1.3em;
	}
}


/* Sidebar end */

table.subscription td {
	text-align: center;
	font-size: small;
}

table.subscription th {
	text-align: center;
	font-size: small;
	font-weight: bold;
}

.btn-link {
	color: var(--font-color);
}

.sortbya,
.sortbyz {
	font-size: 77%;
}

.sortbya i,
.sortbyz i {
	font-size: 150%;
}

.small-form {
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.small-form .input-group-prepend .input-group-text {
	min-width: 200px;
	justify-content: flex-end;
}

/* h2 {
    margin: 50px 0;
} */

h4.text-center {
	cursor: pointer;
	color: green;
}

h4.text-center+form {
	display: none;
	margin-bottom: 50px;
}

div.container {
	padding-bottom: 100px;
}

h2+h4+h6+div {
	margin: 15px 0;
}

.fa-fw {
	text-align: center;
	width: 3.25em;
}

li.nav-item a.nav-link i {
	font-size: 135%;
}

li.nav-item.active a.nav-link i {
	color: red;
}

.sorta {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 55%;
	margin: .4rem .5rem .4rem 0;
	color: rgba(0, 0, 0, .25);
}

.sortz {
	transform: rotate(180deg);
	position: absolute;
	bottom: 0;
	left: 0;
	font-size: 55%;
	margin: .4rem .5rem .4rem 0;
	color: rgba(0, 0, 0, .25);
}

.elipsis {
	white-space: nowrap;
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
}

div.container {
	overflow-x: auto;
}

div.rd-container {
	z-index: 2000;
	box-shadow: 2px 2px 2px #666;
	border-color: #888;
}

div.container.survey .main_grid .card-body p,
div.container.assessment .main_grid .card-body p,
div.container.assessment_eval .main_grid .card-body p,
div.container.template_form .main_grid .card-body p,
div.container.training .main_grid .card-body p,
div.container.certification .main_grid .card-body p,
div.container.survey_active .main_grid .card-body p,
div.container.survey_archive .main_grid .card-body p {
	margin-top: 1rem;
	font-size: .8rem;
}

div.container.survey .main_grid .card-body p::before,
div.container.assessment .main_grid .card-body p::before,
div.container.assessment_eval .main_grid .card-body p::before,
div.container.template_form .main_grid .card-body p::before,
div.container.training .main_grid .card-body p::before,
div.container.certification .main_grid .card-body p::before,
div.container.survey_active .main_grid .card-body p::before,
div.container.survey_archive .main_grid .card-body p::before {
	/*
  * aria-label has no advantage, it won't be read inside a table
  content: attr(aria-label);
  */
	content: attr(data-label);
	float: left;
	/* font-weight: bold; */
	text-transform: uppercase;
	margin-right: .5rem;
	font-size: .8rem;
}

table.notif {
	width: auto;
	margin: 0 auto;
}

table.notif tr {
	border-bottom: 1px solid #555;
}

table.notif td,
table.notif th,
table.notif td:hover,
table.notif th:hover {
	color: var(--font-color);
	font-size: 90%;
	cursor: pointer;
}

table.resp {
	border-collapse: collapse;
	/* 
    border: 1px solid #ccc;
    margin: 0;padding: 0;
    width: 100%;
    table-layout: fixed; */
}


/* table.resp tr {
    background-color: #f8f8f8;
    border: 1px solid #ddd;
    padding: .35em;
} */

table.resp thead {
	border-bottom: 1px solid #aaa;
}

table.resp th {
	position: relative;
	font-size: .75rem;
	font-weight: 400;
}

table.resp td,
table.resp th {
	padding: .5rem 1rem .5rem 1rem;
	vertical-align: middle;
	color: var(--font-color);
}

table.resp> :not(caption)>*>* {
	border-bottom-width: 0px;
}

table.notif_list td {
	padding: .1rem;
}

@media screen and (max-width: 30rem) {
	.nav-item .nav-link span {
		display: none;
	}
}

@media screen and (max-width: 60rem) {
	table.resp {
		border: 0;
	}

	table.resp thead {
		/*
		* we want to hide this on mobile
		*/
		border: none;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
	}

	table.resp tr {
		border-bottom: 3px solid #ddd;
		display: block;
		margin-bottom: 1.625em;
	}

	table.resp td {
		/* border-bottom: 1px solid #ddd; */
		display: block;
		font-size: .8em;
		text-align: right;
	}

	table.resp.align_left td {
		text-align: left;
		padding: .2rem .5rem;
	}

	table.resp td::before {
		/*
	  * aria-label has no advantage, it won't be read inside a table
	  content: attr(aria-label);
	  */
		content: attr(data-label);
		float: left;
		/* font-weight: bold; */
		text-transform: uppercase;
	}

	table.resp td:last-child {
		border-bottom: 0;
	}
}

table.resp.resp_only {
	border: 0;
}

table.resp.resp_only thead {
	/*
	* we want to hide this on mobile
	*/
	border: none;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

table.resp.resp_only tr {
	border-bottom: 3px solid #ddd;
	display: block;
	margin-bottom: 1.625em;
}

table.resp.resp_only td {
	/* border-bottom: 1px solid #ddd; */
	display: block;
	font-size: .8em;
	text-align: right;
}

table.resp.resp_only.align_left td {
	text-align: left;
}

table.resp.resp_only td::before {
	/*
  * aria-label has no advantage, it won't be read inside a table
  content: attr(aria-label);
  */
	content: attr(data-label);
	float: left;
	/* font-weight: bold; */
	text-transform: uppercase;
}

table.resp.resp_only td:last-child {
	border-bottom: 0;
}


/* general styling */

body {
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	line-height: 1.25;
	font-size: 90%;
}

.title-icon {
	font-size: 3rem;
}

.alert-fixed {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	z-index: 9999;
	border-radius: 0px
}

a {
	text-decoration: none;
	color: var(--font-color);
}

a:hover:not(.no_under) {
	text-decoration: underline;
	color: var(--secondary-color);
}

table.resp td[data-label] {
	min-height: 2rem;
	color: var(--font-color);
}

table.resp td[data-col="media_status"],
table.resp th[data-col="media_status"] {
	text-align: center;
}

table.resp td[data-col="media_confirmed"],
.card p[data-col="media_confirmed"],
table.resp td[data-col="media_hash"],
.card p[data-col="media_hash"],
table.resp td[data-col="media_created"],
.card p[data-col="media_created"] {
	font-size: 77%;
	margin-bottom: 0;
}

.card p[data-col="media_file_name"] {
	text-align: center;
}

.top_bar {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1;
	height: 4em;
}

div.container>div.row:first-child {
	margin-top: 7rem;
}

.btn-primary:hover {
	color: #fff;
	background-color: var(--secondary-color);
	border-color: var(--secondary-color);
}

.btn:hover,
a.btn:hover {
	color: #ddd;
	text-decoration: none;
}

.btn-light {
	color: #000;
	background-color: var(--bg-color-btn);
	border-color: var(--bg-color-btn);
}

.btn-light:hover {
	color: #000;
	background-color: var(--bg-color-btn-h);
	border-color: var(--bg-color-btn-h);
}

.btn-primary {
	color: #fff;
	background-color: var(--secondary-color);
	border-color: var(--secondary-color);
}

.container .form-select {
	background-color: var(--bg-color-a);
	color: var(--font-color);
}

.form-control:focus,
.form-select:focus {
	box-shadow: 0 0 0 .25rem rgba(114, 35, 193, 0.25);
}

btn-check:focus+.btn-primary,
.btn-primary:focus {
	color: #fff;
	background-color: var(--secondary-color);
	border-color: var(--secondary-color);
	box-shadow: 0 0 0 .25rem rgba(114, 35, 193, 0.25);
}

.h2,
h2 {
	font-size: 3.75rem;
	font-weight: 100;
}

.h3,
h3 {
	font-size: 2rem;
	font-weight: 300;
}

.h4,
h4 {
	font-size: 1.5rem;
	font-weight: 300;
}

.text-small {
	font-size: .75rem;
	font-weight: 500;
}

.controls .btn.btn-light:hover {
	background-color: rgba(16, 117, 71, .08);
}

.controls .btn.btn-light:hover i {
	color: var(--secondary-color);
}

.controls .btn.btn-light {
	border-color: #bbb;
}

.controls .btn.btn-light i {
	vertical-align: middle;
	color: rgba(0, 0, 0, .6);
}

h2.h4,
h2.fs-5 {
	max-width: 40vw;
	padding-right: .5rem;
}

h2.h4::after,
h2.fs-5::after {
	content: '';
	position: absolute;
	width: .22rem;
	left: -.5rem;
	top: .0;
	bottom: .0;
	box-shadow: 0px 0px 1px rgba(0, 0, 0, .5);
	background-color: var(--primary-color);
}

.text-pri {
	color: var(--primary-color);
}

.border-purple {
	border: 2px solid #400080;
}

.text-purple {
	color: #400080;
}

.survey_form .form-check-label {
	vertical-align: text-top;
}

.form-check-input:checked {
	background-color: var(--secondary-color);
	border-color: var(--secondary-color);
}

.form-check-input:focus {
	border-color: var(--secondary-color);
	box-shadow: 0 0 0 .25rem rgba(114, 35, 193, 0.25);
}

.parent_title {
	border-bottom: 1px solid #666;
	display: inline-block;
	margin: 0 auto 3rem auto;
	text-transform: uppercase;
	padding: .5rem;
	background-color: #eee;
}

.filter-dark {
	filter: invert(31%) sepia(0%) saturate(2%) hue-rotate(74deg) brightness(99%) contrast(85%);
}

.modal-body h4 {
	margin: 2rem 0;
	text-align: center;
}

/*price tag*/
.price-tag {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	height: 20px;
	margin-left: 25px;
	padding: 0 5px 0 10px;
	color: #fff;
	border-radius: 0 4px 4px 0;
	background-color: var(--secondary-color);
	line-height: 1;
	justify-content: center;
	padding: .88rem;
}

.price-tag::before,
.price-tag::after {
	position: absolute;
	content: "";
}

.price-tag::before {
	left: -10px;
	width: 20px;
	height: 20px;
	transform: rotate(45deg);
	border-radius: 0 0 0 4px;
	background-color: var(--secondary-color);
}

.price-tag::after {
	z-index: 1;
	top: 50%;
	left: -10px;
	width: 6px;
	height: 6px;
	transform: translate(-50%, -50%) translateX(10px);
	border-radius: 3px;
	background-color: #fff;
}

.price-tag__main {
	font-size: 1.15em;
	font-weight: bold;
}

.price-tag__main~* {
	opacity: 0.85;
}

.price-tag span {
	position: relative;
	z-index: 1;
}

.price-tag--one-line {
	flex-direction: row;
	align-items: center;
}

.price-tag--one-line span:not(:first-child)::before {
	content: ", ";
}

/* dicount ribbon*/
#step4Modal li.list-group-item {
	position: relative;
	overflow: hidden;
	padding: 1rem 1rem;
	line-height: 2.5;
}

#step4Modal li.list-group-item b,
#step4Modal li.list-group-item,
#step4Modal li.list-group-item span {
	font-size: .9rem;
}

.ribbon {
	position: absolute;
	display: inline-block;
	top: 0.35rem;
	right: 0.35rem;
	max-width: 5rem;
	color: #fff;
	z-index: 1;
	padding-top: 0;
}

.ribbon::after {
	position: absolute;
	top: -1.5rem;
	right: -8rem;
	content: "";
	height: 5rem;
	width: 15rem;
	transform: rotatez(30deg);
	background-color: red;
	z-index: -1;
}

.copytm {
	padding-top: 10rem;
}

/* index page */

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

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

.b-example-divider {
	height: 3rem;
	background-color: rgba(0, 0, 0, .1);
	border: solid rgba(0, 0, 0, .15);
	border-width: 1px 0;
	box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
}

.b-example-vr {
	flex-shrink: 0;
	width: 1.5rem;
	height: 100vh;
}

.bi {
	vertical-align: -.125em;
	fill: currentColor;
}

.nav-scroller {
	position: relative;
	z-index: 2;
	height: 2.75rem;
	overflow-y: hidden;
}

.nav-scroller .nav {
	display: flex;
	flex-wrap: nowrap;
	padding-bottom: 1rem;
	margin-top: -1px;
	overflow-x: auto;
	text-align: center;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

/*index page ends */

.page_selectors .btn {
	width: 2rem;
}

.card-dm {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-color: white;
	border-radius: 100px 20px 20px 100px;
}

.card-msg {
	width: 100%;
	background-color: transparent;
}

.card-pic {
	width: 90px;
	height: 90px;
	background-color: #ddd;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
	border-radius: 50%;
	padding: 5px;
	margin: 1px;
	transition: 0.1s;
}

.card-pic img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
}

.card-info {
	margin: 10px;
	max-width: 70%;
	width: 70%;
}

.card-info>div {
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.speech-bubble {
	padding: 20px;
	background: #eeeeee;
	color: #000000;
	position: relative;
	box-shadow: rgba(0, 0, 0, 0.5) 0 3px 5px -3px;
	margin: 20px 0;
}

.speech-bubble:after,
.speech-bubble:before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	position: absolute;
	top: 0px;
	border-color: #eeeeee;
}

.speech-bubble.speech-bubble-bottom-right {
	margin-bottom: 40px;
	border-radius: 4px;
}

.speech-bubble.speech-bubble-bottom-right:after {
	border-width: 0 24px 20px 0;
	border-top-color: transparent !important;
	border-left-color: transparent !important;
	border-bottom-color: transparent !important;
	top: auto;
	right: 20px;
	bottom: -20px;
}

.speech-bubble.speech-bubble-bottom-right:before {
	width: 0px;
	height: 15px;
	top: auto;
	right: 20px;
	bottom: -20px;
	border: none;
	background-color: #ff0000;
	box-shadow: rgba(0, 0, 0, 0.5) 1px -4px 4px 1px;
}

.speech-bubble.speech-bubble-bottom-left {
	margin-bottom: 40px;
	border-radius: 4px;
}

.speech-bubble.speech-bubble-bottom-left:after {
	border-width: 0 0 20px 24px;
	border-top-color: transparent !important;
	border-right-color: transparent !important;
	border-bottom-color: transparent !important;
	top: auto;
	left: 20px;
	bottom: -20px;
}

.speech-bubble.speech-bubble-bottom-left:before {
	width: 0px;
	height: 15px;
	top: auto;
	left: 20px;
	bottom: -20px;
	border: none;
	background-color: red;
	box-shadow: rgba(0, 0, 0, 0.35) -1px -3px 4px 1px;
}

.speech-bubble.speech-bubble-red {
	background: #F44336;
}

.speech-bubble.speech-bubble-red:after {
	border-color: #F44336;
}

.speech-bubble.speech-bubble-green {
	background: #8bc34a;
}

.speech-bubble.speech-bubble-green:after {
	border-color: #8bc34a;
}

.speech-bubble.speech-bubble-white {
	background: #fff;
}

.speech-bubble.speech-bubble-white:after {
	border-color: #fff;
}

.speech-bubble.speech-bubble-yellow {
	background: #dcdcdb;
}

.speech-bubble.speech-bubble-yellow:after {
	border-color: #dcdcdb;
}

.main_chat {
	max-width: 500px;
	margin-bottom: 200px;
	padding-top: 150px;
	max-height: 600px;
}

.chat_win {
	overflow-y: scroll;
	height: 450px;
}

.chat_title {
	position: absolute;
	top: 5px;
	left: 0;
	right: 0;
	height: 100px;
	padding: 20px 10px;
	background-color: #ffffff;
	border: 1px solid #eee;
}

.chat_name {
	margin-bottom: 10px;
}

.chat_subj {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.chat_input_box {
	padding-top: 35px;
	position: absolute;
	bottom: -100px;
	left: 0;
	right: 0;
	height: 100px;
}

.chat_send {
	margin-top: 20px;
	position: absolute;
	right: 0;
	top: 1px;
}

.chat_group {
	cursor: pointer;
}

.btnReply {
	position: relative;
	top: -2rem;
	left: 4rem;
}

.darker {
	color: #888;
	cursor: pointer;
}

#togglePassword {
	cursor: pointer;
}

#user_details {
	min-height: 10rem;
}

#message-container {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: transparent;
	padding: 0;
	border-radius: 0;
	z-index: 9999;
	/* Ensure it's on top of other elements */
}

textarea[name="comm_text"] {
	min-height: 10rem;
}