#page,
#page_wait{
    width: 100%;
    height: 100%;
    position: fixed;
    align-items: center;
    justify-content: center;
    float: left;
    z-index: 5555;
    left: 0;
    top: 0;
    background: #34495e80;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
#page_wait{
    display: none;
}
.loading {
    width: 200px;
    height: 200px;
    box-sizing: border-box;
    border-radius: 50%;
    border-top: 10px solid #e74c3c;
    position: relative;
    animation: a1 2s linear infinite;
}
.loading::before,
.loading::after {
    content: '';
    width: 200px;
    height: 200px;
    position: absolute;
    left: 0;
    top: -10px;
    box-sizing: border-box;
    border-radius: 50%;
}
.loading::before {
    border-top: 10px solid #e67e22;
    transform: rotate(120deg);
}
.loading::after {
    border-top: 10px solid #3498db;
    transform: rotate(240deg);
}
.loading span {
    position: absolute;
    width: 200px;
    height: 200px;
    color: #fff;
    text-align: center;
    line-height: 200px;
    animation: a2 2s linear infinite;
}
.loading_wait {
    background-color: #FFF;
    max-width: 100%;
    text-align: center;
    position: relative;
    color: #545454;
    border-radius: 5px;
    padding: 1rem 1.5rem;
}
.circle-line{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.loading_wait .circle-line .circle{
    position: relative;
    width: 20px;
    height: 20px;
    border-radius: 30px;
    margin: 5px;        
    background-color: #EA4335;
    animation: movingUp 0.5s infinite alternate;
}
.loading_wait .circle-line .circle:nth-child(even){
    position: relative;
    width: 20px;
    height: 20px;
    border-radius: 30px;
    margin: 5px;        
    background-color: #fdd01f;
    animation: movingDown 0.5s infinite alternate;
}
@keyframes a1 {
    to {
        transform: rotate(360deg);
    }
}
@keyframes a2 {
    to {
        transform: rotate(-360deg);
    }
}
@keyframes movingUp {
    0% {
        top: 0px;
    }
    100% {
        top: -20px;
    }
}
@keyframes movingDown {
    0% {
        top: -20px;
    }
    100% {
        top: 0px;
    }
}
::-webkit-scrollbar-track
{
	border-radius: 10px;
	background-color: #f2f2f2;
}
::-webkit-scrollbar
{
    width: 10px;
    height: 12px;
	border-radius: 10px;
	background-color: #f2f2f2;
}
::-webkit-scrollbar-thumb
{
	border-radius: 10px;
	background-color: #c3c3c3;
}
html,body{    
    height: 100%;
    margin: 0;
    font-family: 'Noto Sans Thai', sans-serif;
    font-weight: 500;
    font-size: 1rem;
    background-color: #f5f5f5;
    color: #000;
}
a, a:hover, a:focus, a:active{
    text-decoration: none;
}
a:hover{
    opacity: 0.8;
}
.bg-yellow,
.btn-yellow{
    background-color: #ffc905;
}
.btn-green{
    background-color: #1dbe61;
    cursor: auto !important;
}
.btn-yellow,
.btn-green,
.btn-yellow:hover,
.btn-green:hover,
.btn-yellow:focus,
.btn-green:focus,
.btn-yellow:active,
.btn-green:active{
    color: #FFF;
}
.btn-icon{
    padding: 0;
    box-shadow: 1px 1px 3px 1px #cdcdcd;
    border-radius: 7px;
}
.btn-icon .img-icon,
.btn-icon .text-icon{
    display: inline-block;
    padding: 8px 15px;
}
.btn-yellow.btn-icon .img-icon{
    border-top-left-radius: 7px;
    border-bottom-left-radius: 7px;
    background-color: #eac01e;
    border-color: #eac01e;
}
.btn-blue,
.bg-blue{
    background-color: #0d379b;
    border-color: #0d379b;
    color: #FFF;
}
.btn-outline-primary{
    color: #0d379b;
    border-color: #0d379b;
}
.error,
.text-red {
    color:red;
}
.text-blue{
    color: #2f4f99;
}
.text-blue-light{
    color: #2962a6;
}
.text-gray{
    color: #8b8b8b;
}
.alert{
    border: 2px solid transparent;
    font-weight: 600;
}
.alert-red{
    background-color: #fff0f3;
    color: #db4663;
    border-color: #e199a9;
}
.alert-orange{
    background-color: #ffeed4;
    color: #ee942a;
    border-color: #f5d59b;
}
.alert-blue{
    background-color: #e3f0ff;
    color: #2080e1;
    border-color: #b3d6f3;
}
.alert-green{
    background-color: #e9fff3;
    color: #51c885;
    border-color: #c1ebd5;
}
.alert-gray{
    background-color: #f7f7f7;
    border-color: #dadbdc;
    padding-left: 0px;
    padding-right: 0px;
}
.alert-gray hr{
    border-top: 2px solid rgba(0,0,0,.1)
}
header{
    padding: 10px 0;
    line-height: 70px;
    height: 100%;
}
header a:nth-child(1) img,
header a:nth-child(4) img,
header .col-lg-6:last-child img{
    height: 50px;
}
header  a:nth-child(2) img{
    height: 55px;
    margin: 0;
}
header  a:nth-child(3) img{
    height: 70px;
    margin: 0;
}
header .col-lg-6:first-child a{
    width: 23%;
    display: inline-block;
}
header .col-lg-6:first-child a img{
    width: 100%;
}
header .col-lg-6:first-child a:last-child,
footer.mobile,
.banner_mobile{
    display: inline-block;
}
header .col-lg-6:last-child img,
footer.desktop,
.banner_desktop{
    display: none;
}
header .box-permission{
    width: 100%;
    height: 125px;
    text-align: center;
    display: inline-block;
    font-size: 100%;
    line-height: 1.5;
    color: #FFF;
    background-color: #2e4f9e;
    position: initial;
    top: -27px;
    padding: 10px;
    border-radius: 20px;
    box-shadow: 1px 1px 3px #b3b3b3;
}
header .box-permission small{
    font-size: 100%;
}
header .box-permission .left,
header .box-permission .right{
    width: 50%;
    height: 75%;
    float: left;
    text-align: center;
}
header .box-permission .left{
    border-right: 1px solid #5a74b5;
}
header .box-permission .count{
    font-size: 150%;
}
header .box-permission .count span{
    /* background-color: #244081; */
    padding: 0 10px;
    font-weight: 600;
}
.box-button .row:first-child,
.box-button .row:first-child .col-md-6:first-child{
    text-align: center;
}
.box-button .row:last-child{
    margin-top: 3rem;
    margin-bottom: 5rem;
}
.btn.btn_register,
.btn.btn_login{
    padding: 3px;
    margin-top: 1.5rem;
    border-radius: 8px;
    color: #FFF;
    font-size: 1.5rem;
    width: 230px;
    line-height: 2.3;
    background-color: #0d379b;
    box-shadow: 1px 1px 5px 0px #afafaf;
}
.btn.btn_login{
    background-color: #f7c504;
}
.btn.btn_register .icon,
.btn.btn_login .icon{
    background-color: #FFF;
    padding: 0 10px;
    border-radius: 5px;
    display: inline-block;
    width: 55px;
    font-size: 1.5rem;
    color: #0d379b;
    line-height: 2.3;
    float: right;
}
.btn.btn_login .icon{
    color: #f7c504;
}
.text-shadow{
    color: #FFF;
    text-shadow: 2px 2px 2px black;
    font-size: 2rem;
}
.box_remain{
    text-align: center;
    font-weight: bold;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.box_remain .region{
    padding: 10px 10px 20px;
}
.box_remain .region.bd_bottom{
    border-bottom: 1px dashed #d6d6d6; 
}
.box_remain .region.bd_right{
    border-right: 1px dashed #d6d6d6; 
}
.box_remain .region_name{
    font-size: 1.2rem;
    padding-bottom: 10px;
}
.box_remain .region .box_region{
    width: 90px;
    height: 90px;
    background-color: #FFF;
    border-radius: 100%;
    padding: 18px 0;
    box-shadow: 3px 0px 0px 0px #000;
    display: inline-block;
    line-height: 1.2;
    border: 1px solid #000;
}
.box_remain .region .box_region .count{
    font-size: 1.8rem;
}
.box_remain .region:nth-child(1) .region_name,
.box_remain .region:nth-child(1) .box_region .count{
    color: #f4b800;
}
.box_remain .region:nth-child(2) .region_name,
.box_remain .region:nth-child(2) .box_region .count{
    color: #eb7271;
}
.box_remain .region:nth-child(3) .region_name,
.box_remain .region:nth-child(3) .box_region .count{
    color: #6a76e0;
}
.box_remain .region:nth-child(4) .region_name,
.box_remain .region:nth-child(4) .box_region .count{
    color: #cd6633;
}
.box_remain .region:nth-child(5) .region_name,
.box_remain .region:nth-child(5) .box_region .count{
    color: #45c4ee;
}
.box_conditions{
    z-index: 1;
}
.box_conditions .container.box{
    padding: 0; 
    box-shadow: 17px -17px 1px #fccf1e; 
    border-radius: 10px;
}
.box_conditions .container.shadow{
    border-radius: 10px;
    box-shadow: 1px 0px 10px 3px #cbcbcb77;
    padding: 2rem;
    background-color: #FFF;
}
.box_conditions h4{
    font-weight: bold;
    border-bottom: 2px solid #f8dd6e;
    padding-bottom: 1rem;
}
.bg_conditions_bottom{
    background-color: #FFF;
    min-height: 380px;
    margin-top: -260px;
}
.bg_head_top{
    background-color: #ffc905;
    min-height: 380px;
}
.head_top_regis{
    margin-top: -360px;
}
.head_top{
    margin-top: -385px;
}
.card{
    border-radius: 10px;
    border: 0;
    padding: 10px 15px;
    margin: 1.5rem 0 5rem 0;
}
.modal-content{
    border-radius: 10px;
}
label{
    margin-bottom: 3px;
    font-weight: 600;
}
footer{
    background-color: #f0f0f0;
}
.data-air{
    margin: 1rem 0;
}
.data-air .col-12{
    padding-left: 0;
    padding-right: 0;
}
.data-air .col-12 img{
    min-width: 35px;
    height: 20px;
    padding-right: 0.5rem;
}
.step_coruse{
    padding-top: 1.5rem;
    height: 100%;
    background-color: #FFF;
}
.step_coruse .box{
    font-size: 1rem;
    font-weight: normal;
    display: flex;
    align-items: start;
    justify-content: center;
}
.step_coruse .block_step{
    width: 100%;
    text-align: center;
    display: inline-block; 
    position: relative;
}
.step_coruse .block_step .step_number{
    border-radius: 100%;
    width: 60px;
    height: 60px;
    background: #dddddd;
    line-height: 60px;
    color: #FFF;
    display: inline-block;
}
.step_coruse .block_step .step_number img{
    width: 30px;
    height: 30px;
    margin-left: 5px;
}
.block_step .step_topic{
    color: #afafaf;
    font-size: 85%;
    font-weight: 500;
    padding-top: 7px;
    width: 100%;
}
.step_coruse .block_step.active .step_number,
.step_coruse .line.active{
    background-color: #ffd533;
}
.step_coruse .block_step.active .step_topic{
    color: #fadd65;
}
.step_coruse .block_step.active.cancel .step_number,
.step_coruse .line.active.cancel{
    background-color: #e2395a;
}
.step_coruse .block_step.active.cancel .step_topic{
    color: #e2395a;
}
.step_coruse .line{
    height: 3px;
    width: 100%;
    background-color: #dddddd;
    padding: 0 10px;
    margin-left: -85px;
    margin-right: -85px;
    margin-top: 30px;
}
.tab_topic{
    margin-top: 5px;
    margin-right: 10px;
}
.topic-information{
    font-weight: 700;
    color: #2f4f99;
    padding-left: 0;
    padding-right: 0;
}
.box-information{
    background: #fafafa;
    padding: 15px;
}
.nav-item {
    width: 100%;
    float: left;
    line-height: 30px;
}
.nav-treeview li.nav-item {
    position: relative;
}
.question_no {
    width: 30px;
    height: 30px;
    float: left;
    background: #fdd021;
    text-align: center;
    border-radius: 100%;
    line-height: 30px;
    color: #FFF;
}
.nav-treeview li.nav-item::after {
    content: "";
    position: absolute;
    height: 100%;
    left: 15px;
    top: 30px;
    border-left: 1px solid #d9d9d9;
}
.form-check .form-check-label input{
    display: none;
}
.grogress_width .score {
    text-align: center;
    display: inline-block;
    margin: 10px 0 0;
    width: 100%;
}
.grogress_width .score .form-check{
    padding: 0;
}
.grogress_width .score img{
    width: 45px;
    cursor: pointer;
}
.form_radio .form-check {
    text-align: center;
    padding: 0 3px;
    display: block;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.form_radio .form-check label{
    width: 100%;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    padding: 6px 7px 6px 25px;
    margin-bottom: 0;
    font-weight: normal;
    cursor: pointer;
}
.form_radio .form-check label.active{
    background-color: #2e4f9e;
    color: #FFF;
}
.form_radio .form-check input {
    position: absolute;
    left: 40px;
    opacity: 0;
    border: none;
}
.form_radio .form-check .checkRadio, 
.form_radio .form-check:hover input ~ .checkRadio, 
.form_radio .form-check input:checked ~ .checkRadio {
    position: absolute;
    top: 11px;
    left: 20px;
    height: 14px;
    width: 14px;
    background-color: #FFF;
    border-radius: 100%;
    border: 1px solid #ced4da;
}
.form_radio .form-check input:checked ~ .checkRadio:after {
    display: block;
    left: 3px;
    top: 0px;
    width: 6px;
    height: 11px;
    border: solid #2e4f9e;
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(40deg);
    -ms-transform: rotate(40deg);
    transform: rotate(40deg);
    transform: rotate(40deg);
}
.form_radio .form-check .checkRadio:after {
    content: "";
    position: absolute;
    display: none;
}
.market_air{
    border: 1px solid #ebecec;
    border-radius: 0.25rem;
    height: 500px;
    overflow: hidden scroll;
}
.market_data{
    cursor: pointer;
    padding: 1.5rem 2rem;
    display: flex;
}
.market_data:hover,
.market_data:active,
.market_data:focus,
.market_data.active{
    background-color: #fff9e1;
}
.market_data .checkbox{
    width: 25px; 
    height: 25px; 
    padding-right: 10px;
    display: inline-block; 
    vertical-align: top;
    font-size: 1.3rem;
}
.market_data .name{
    font-size: 1.1rem;
    font-weight: bold;
}
.market_data .address{
    font-size: 0.9rem;
}
.market_air hr{
    margin: 0rem 2rem;
    border-top: 1px solid #ebecec;
}
.box-information label{
    width: 140px;
    display: inline-block;
}
.box_step_topic{
    width: 60px; 
    height: 60px; 
    display: inline-block;
}
@media (min-width: 350px){
    .btn.btn_register, 
    .btn.btn_login{
        width: 330px;
    }
}
@media (min-width: 460px){
    .box_step_topic{
        width: 100%; 
        height: 100%; 
        display: inline-block;
        padding: 0 20px;
    }
}
@media (min-width: 416px) {
    .grogress_width .score {
        margin: 10px 5px 0;
        width: auto;
    }
}
@media (min-width: 576px){
    .grogress_width .score {
        width: 30%;
        margin: 30px 0;
    }
    header  a:nth-child(2) img{
        height: 55px;
        margin: 0 15px;
    }
    header  a:nth-child(3) img{
        height: 70px;
        margin: 0 15px;
    }
    .banner_mobile{
        display: none;
    }
    .banner_desktop{
        display: inline-block;
    }
}
@media (min-width: 768px){
    .box-button .row:first-child{
        text-align: left;
    }
    .box-button .row:first-child .col-md-6:first-child{
        text-align: right;
    }
    footer.mobile,
    .banner_mobile{
        display: none;
    }
    .banner_desktop{
        display: inline-block;
    }
    .data-air{
        margin: 1rem 0.5rem;
    }
    .data-air .col-12,
    .topic-information{
        padding-left: 15px;
        padding-right: 15px;
    }
    .box-information{
        padding: 25px 50px;
    }
    .grogress_width .score {
        width: 20%;
    }
}
@media (min-width: 992px){
    header{
        height: 90px;
    }
    header .col-lg-6:first-child a{
        width: auto;
    }
    header .col-lg-6:first-child  a:last-child,
    footer.mobile{
        display: none;
    }
    header .col-lg-6:last-child img,
    footer.desktop{
        display: inline-block;
    }
    header .box-permission{
        width: 50%;
        height: 110px;
        position: relative;
        font-size: 85%;
        border-radius: 0 0 20px 20px;
    }
    header .box-permission small{
        font-size: 80%;
    }
    .head_top_regis{
        margin-top: -290px;
    }
    .head_top{
        margin-top: -330px;
    }
}
@media (min-width: 1200px){
    .form_radio .form-check .checkRadio, 
    .form_radio .form-check:hover input ~ .checkRadio, 
    .form_radio .form-check input:checked ~ .checkRadio{
        left: 35px;
    }
    .form_radio .form-check input{
        left: 55px;
    }
}