.service-title,
#article{
    text-align:center;
}

#article form{
    width:100%;
    max-width:620px;
    margin-right:auto;
    margin-left:auto;
    text-align:center;
}

#article form input:not([type="hidden"]),
#article form select{
    display:block;
    width:100%;
    margin-right:auto;
    margin-left:auto;
    text-align:center;
}

#article form button,
#article form input[type="submit"]{
    float:none;
    margin-right:auto;
    margin-left:auto;
}

#article .g-recaptcha{
    display:inline-block;
}

#article #viewtable{
    margin-right:auto;
    margin-left:auto;
}

#article #viewtable th,
#article #viewtable td{
    text-align:center;
}

.entry-steps{
    display:flex;
    gap:5px;
    margin:16px 0 24px;
    padding:0;
    list-style:none;
    clear:both;
}

.entry-steps li{
    box-sizing:border-box;
    flex:1;
    padding:8px 5px;
    border-bottom:4px solid #777;
    color:#aaa;
    text-align:center;
    font-size:12px;
}

.entry-steps li.done{
    border-color:#318552;
    color:#bfe5ca;
}

.entry-steps li.active{
    border-color:#efb639;
    color:#efb639;
    font-weight:bold;
}

#article input:not([type]),
#article input[type="text"],
#article input[type="email"],
#article input[type="number"],
#article input[type="search"],
#article select{
    box-sizing:border-box;
    min-height:42px;
    padding:10px 12px;
    font:inherit;
}

.service-form input,
.service-form select{
    width:100%;
}

.service-form button{
    width:100%;
}

.service-inactive{
    color:#c00;
}

@media(min-width:801px){
    .service-form{
        max-width:620px;
        margin-right:auto;
        margin-left:auto;
    }

    .service-form button{
        width:auto;
    }
}

@media(max-width:620px){
    .entry-steps{
        display:grid;
        grid-template-columns:repeat(3,1fr);
    }

    .entry-steps li{
        padding:7px 2px;
        font-size:10px;
    }
}
