.select2-selection__rendered {
	line-height: 31px !important;
	border-radius: 4px !important;
}
.select2-container .select2-selection--single {
	height: 35px !important;
	border-radius: 4px !important;
}
.select2-selection__arrow {
	height: 34px !important;
	border-radius: 4px !important;
}
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
/* Firefox */
input[type=number] {
	-moz-appearance: textfield;
}
.content-overflow{
	overflow-y: auto;
	height: 420px;
	padding-right: 3px;
	padding-left: 3px;
}

/* Works on Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: #EDEDED #FEFEFE;
}


/* Works on Chrome, Edge, and Safari */
*::-webkit-scrollbar {
  width: 12px;
}


*::-webkit-scrollbar-track {
  background: #FEFEFE;
}


*::-webkit-scrollbar-thumb {
  background-color: #EDEDED;
  border-radius: 20px;
  border: 3px solid #FEFEFE;
}

/* Works on Crome */
body::-webkit-scrollbar {
  width: 12px;  /* width of the entire scrollbar */
}


body::-webkit-scrollbar-track {
  background: #F2F2F2;        /* color of the tracking area */
}


body::-webkit-scrollbar-thumb {
  background-color: #DDDDDD;    /* color of the scroll thumb */
  border-radius: 20px;       /* roundness of the scroll thumb */
  border: 3px solid #F2F2F2;  /* creates padding around scroll thumb */
}
body {
  scrollbar-width: thin;          /* "auto" or "thin" */
  scrollbar-color: #DDDDDD #F2F2F2;   /* scroll thumb and track */
}

.title.dark{
	font-size: 19pt;
	font-family: times new roman;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	text-align: center;
}
.form-section h2{
	padding-top: 0px;
	font-size: 19pt;
	font-family: times new roman;
}

.form-group{
	position: relative;
	margin-top: 20px;
    margin-bottom: 20px;
}
.form-group label{
	position: absolute;
	left: 20px;
	top: -10px;
	padding-left: 4px;
	padding-right: 4px;
	background-color: white;
	color: #4A8CD2;
	font-size: 9pt;
	border-style: solid;
	border-bottom-style: none;
	border-width: 1px;
	border-color: #4A8CD2;
	border-radius: 3px;
}
.form-group input{
	border-color: #4A8CD2;
	height: 38px;
}

.label-ket{
	font-size: 9pt;
	font-family: times new roman;
}
#fieldset_ringkasan .table-custom-x{
	width: 450px;
}
#fieldset_ringkasan .table-custom-x tr td{
	vertical-align: top;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-color: #EDEDED;
	padding-top: 5px;
	padding-bottom: 5px;
	font-size: 9pt;
}
.form-error{
	color: red;
	font-size: 9pt;
	font-family: times new roman;
}

	/* General Form Styling */
.w-content.box-temp {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.w-content .title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #2c3e50;
    padding-bottom: 10px;
    border-bottom: 2px solid #f1f1f1;
}

.form-control.form-flat {
    border-radius: 4px;
    border: 1px solid #ddd;
    padding: 10px 15px;
    height: auto;
    transition: all 0.3s;
}

.form-control.form-flat:focus {
    border-color: #3498db;
    box-shadow: 0 0 0 0.2rem rgba(52, 152, 219, 0.25);
}

/* Required Field Indicators */
.required-field input,
.required-field select {
    border-left: 3px solid #e74c3c;
}

.required-field label {
    font-weight: 600;
}
/* Address Section Styling */
.form-group-family {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 20px;
    margin-bottom: 15px;
    margin-top: 15px;
    background-color: #f9f9f9;
    position: relative;
}

.form-group-family label {
    position: absolute;
    top: -12px;
    left: 15px;
    background-color: #f9f9f9;
    padding: 0 10px;
    font-weight: 600;
    color: #2c3e50;
    font-size: 0.95rem;
}
/* Select2 Dropdown Styling */
.select2-selection__rendered {
    line-height: 31px !important;
}
.select2-container .select2-selection--single {
    height: 45px !important;
}
.select2-selection__arrow {
    height: 44px !important;
}

.select2-container .select2-selection--single {
    padding: 7px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .w-content.box-temp {
        padding: 15px;
    }
    
    .row > div {
        margin-bottom: 15px;
    }
    
    .row > div:last-child {
        margin-bottom: 0;
    }

    .content-overflow{
    	height: auto;
    }
}