/*======================
   01. Google fonts
========================*/
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700;800&display=swap');

/*======================
   02. Basic css
========================*/
html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
strong,
i,
ol,
ul,
li,
form,
label,
footer,
header,
menu,
nav,
section {
	margin: 0;
	padding: 0;
}

body {
	line-height: 1.375;
	font-family: 'Open Sans', sans-serif;
	background-color: #fff;
	color: #000;
	font-size: 16px;
}

ol,
ul {
	list-style: none;
}

a:hover {
	text-decoration: none;
}

button:focus,
a:focus,
input:focus,
textarea:focus{
	outline: none;
}

/* page loader  */
#preloader {
	position: fixed;
	background: #fff;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99999;
	height: 100vh;
	width: 100vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.loader3 {
	width: 50px;
	height: 50px;
	display: inline-block;
	padding: 0px;
	text-align: left;
}

.loader3 span {
	position: absolute;
	display: inline-block;
	width: 50px;
	height: 50px;
	border-radius: 100%;
	background: #f33737;
	-webkit-animation: loader3 1.5s linear infinite;
	animation: loader3 1.5s linear infinite;
}

.loader3 span:last-child {
	animation-delay: -0.9s;
	-webkit-animation-delay: -0.9s;
}

@keyframes loader3 {
  	0% {
    	-webkit-transform: scale(0, 0);
    	        transform: scale(0, 0);
    	opacity: 0.8;
  	}
  	100% {
    	-webkit-transform: scale(1, 1);
    	        transform: scale(1, 1);
    	opacity: 0;
  	}
}

@-webkit-keyframes loader3 {
  	0% {
    	-webkit-transform: scale(0, 0);
    	opacity: 0.8;
  	}
  	100% {
    	-webkit-transform: scale(1, 1);
    	opacity: 0;
  	}
}
header {
   position: fixed;
   top: 0;
   left: 0;
   z-index: 1024;
   width: 100%;
   -webkit-box-shadow: 0 4px 9px rgba(0, 0, 0, 0.16);
           box-shadow: 0 4px 9px rgba(0, 0, 0, 0.16);
   padding: 10px 0 10px;
   background-color: #fff;
}
.title{
	font-size: 28px;
	line-height: 1.35;
	font-weight: 800;
}
.table_title{
	font-size: 18px;
	font-weight: 600;
	line-height: 1.33;
}
.box{
	border-radius: 12px;
	background-color: #fff;
	padding: 20px 25px;
	-webkit-box-shadow: 6px 6px 23px rgba(0, 0, 0, 0.16);
	        box-shadow: 6px 6px 23px rgba(0, 0, 0, 0.16);
}
.page_wrapper {
   padding-top: 134px;
   padding-bottom: 65px;
}
.checkbox_wrap{
	margin-left: -12px;
	margin-right: -12px;
}
.flex-wrap .checkbox {
	display: block;
	width: 100%;
}
.checkbox, .radio{
	padding: 8px 12px 0;
}
.checkbox>input{
	display: none;
}
.checkbox label{
	position: relative;
	padding-left: 30px;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	cursor: pointer;
	font-size: 16px;
	font-weight: 400;
}
.checkbox label::before{
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	width: 21px;
	height: 21px;
	border-radius: 4px;
	border: 2px solid #000;
}
.checkbox input:checked + label::after {
   position: absolute;
   content: '';
   left: 4px;
   top: 5px;
   height: 7px;
   width: 12px;
   border-left: 2px solid #000;
   border-bottom: 2px solid #000;
   -webkit-transform: rotate(-45deg);
       -ms-transform: rotate(-45deg);
           transform: rotate(-45deg);
}

.complex-table .checkbox input:checked + label::after {
    top: -15px;
}

.radio > input {
    display: none;
}

.radio label {
    position: relative;
    cursor: pointer;
}

.radio label::before{
    position: absolute;
    content: '';
    left: -10px;
    top: -20px;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    border: 2px solid #000;
}

.radio input:checked + label::after {
    position: absolute;
    content: '';
    left: -6px;
    top: -16px;
    height: 13px;
    width: 13px;
    border-radius: 50%;
    background-color: #000;
}

table{
	width: 100%;
    border-radius: 9px;
	font-size: 14px;
	font-weight: 600;
	border-collapse: separate !important;
   border-spacing: 0;
   border-top: 1px solid #000;
	border-right: 1px solid #000;
	line-height: 1.35;
}
table td,
table th{
	width: 33.33%;
	border-bottom: 1px solid #000;
	border-left: 1px solid #000;
	padding: 10px 10px;
}
table th{
	text-align: center;
	font-size: 16px;
	padding: 12px 10px;
}

.complex-table {
    table-layout: fixed;
}

.complex-table td {
    width: initial;
}

.complex-table tbody tr td:not(:first-child) {
    text-align: center;
    vertical-align: middle;
}

.complex-table tbody tr td:not(:first-child) div {
    display: inline-block;
}

.case-question-row td:nth-child(2) {
    font-size: 0.65rem;
    padding: 0;
}

thead tr th:first-child{
	border-radius: 9px 0px 0px 0px;
}
tbody tr:last-child td:last-child{
	border-radius: 0px 0px 9px 0px;
}
tbody tr:last-child td:first-child{
	border-radius: 0px 0px 0px 9px;
}
table td ul li{
	position: relative;
	padding-left: 10px;
}
table td ul li::before {
    position: absolute;
    content: '';
    left: 0;
    top: 7px;
    height: 5px;
    width: 5px;
    border-radius: 50%;
    background-color: #000;
}
table td ul.dynamic-classification-group li::before {
	display: none;
}
.box p{
	font-weight: 600;
}
.sub_title{
	font-size: 22px;
	line-height: 1.2;
	font-weight: 600;
}
.input_box{
	background-color: #E5E5E5;
	border: none;
	text-align: center;
	padding: 4px 8px;
	width: 74px;
	height: 38px;
}
.input_wrap{
	padding: 5px 0;
}
.checkbox_wrap.v2 label{
	font-size: 14px;
	padding-top: 2px;
}
.checkbox_wrap.v2{
	margin-left: -5px;
	margin-right: -5px;
}
.checkbox_wrap.v2 .checkbox {
   padding: 8px 5px 0;
}
table strong{
	font-weight: 700;
	font-size: 16px;
	text-align: center;
	display: block;
}
.last_table tr:last-child td:first-child{
	border: none;
}
.last_table tr:last-child td:nth-last-child(2){
	border-radius: 0 0 0 9px;
}
.last_table tr:nth-last-child(2) td:first-child{
	border-radius: 0 0 0 9px;
}
footer{
	background-color: #EFEFEF;
	padding: 5px 0 5px;
}
footer .logo{
	display: inline-block;
	max-width: 295px;
}
footer p{
	font-size: 14px;
}
footer p a{
	display: inline-block;
	margin-left: 10px;
	text-decoration: underline !important;
	color: #000 !important;
}
.align_bottom{
	vertical-align: bottom;
}
.login_wrapper {
   min-height: calc(100vh - 72px);
   padding-top: 68px;
   text-align: center;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: center;
       -ms-flex-align: center;
           align-items: center;
   -webkit-box-pack: center;
       -ms-flex-pack: center;
           justify-content: center;
}
.login_wrapper form{
	max-width: 398px;
}
.login_wrapper form input{
	width: 100%;
	border: 1px solid #D3D3D3;
	border-radius: 40px;
	height: 43px;
	padding: 2px 20px;
	margin-top: 5px;
}
.login_wrapper form label {
    font-size: 14px;
    text-align: left;
    display: block;
    line-height: 1.2;
}
.login_wrapper form a{
	font-size: 12px;
	font-weight: 600;
	color: #000;
}
.login_wrapper button {
   width: 100%;
   background-color: #27B106;
   border-radius: 50px;
   font-size: 14px;
   font-weight: 700;
   text-transform: uppercase;
   border: none;
   color: #fff;
   margin-top: 30px;
   padding: 15px 10px;
   -webkit-transition: 0.4s;
   -o-transition: 0.4s;
   transition: 0.4s;
}
.login_wrapper button:hover{
	-webkit-box-shadow: 0 0 100px rgba(0, 0, 0, 0.3) inset;
	        box-shadow: 0 0 100px rgba(0, 0, 0, 0.3) inset;
}
.login_wrapper h2{
	font-size: 36px;
	line-height: 1;
	font-weight: 800;
	color: #000000;
	padding-bottom: 50px;
}
.lg_input input{
	width: 189px;
}
.lg_text{
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	padding: 20px 10px;
}
.percent{
	font-size: 18px;
	font-weight: 600;
}
.md_input input{
	width: 134px;
}
.xxl_input input{
	width: 100%;
	max-width: 248px;
}
.checkbox_wrap.v3 {
    padding: 0 14px;
}
.checkbox_wrap.v3 label{
	font-size: 14px;
}
.semi_text{
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}
/*return-to-top START CSS*/
.back-to-top {
	font-size: 24px;
	width: 45px;
	height: 45px;
	line-height: 45px;
	text-align: center;
	display: none;
	position: fixed;
	bottom: 50px;
	right: 20px;
	border-radius: 50%;
	background: #27B106;
	z-index: 1000;
}

.back-to-top i {
	color: #fff;
}

.custom-btn {
    border: none;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    margin-top: 30px;
    padding: 15px 10px;
    text-transform: uppercase;
    transition: 0.4s;
    width: 100%;
}

.btn-green {
    background-color: #27b106;
    color: #fff;
}

.header-name {
}

.header-name span {
    color: #000;
    font-size: 1.6rem;
}

.page_wrapper {
    min-height: calc(100vh - 72px);
}

.dynamic-classification-group {
    display: flex;
    flex-direction: column;
    row-gap: 2px;
    list-style-type: none;
}

.dynamic-classification-draggable {
    display: block;
    padding: 5px;
    border: solid 1px #000;
    list-style-type: none;
    cursor: pointer;
}
