.ab-pluss-product.featured {
    border: 4px dashed var(--member-color);
    background-color: var(--light-grey);
}


.ab-reg-intro {
    margin-bottom:var(--main-elem-bottom-margin);
}


.ab-reg-group {
    position:relative;
    margin-bottom:20px;
    padding:var(--elem-inner-padding);
    padding-top:1.5em;
    border:1px solid var(--mid-grey);
}

.ab-reg-group legend {
    padding:0em .5em 0em .5em;
    color:var(--dark-grey);    
    font-family:var(--accent-font);
    font-weight:normal;
    font-size:1.2em;
}


.ab-reg-form-field {
    margin-bottom:var(--elem-inner-padding);
}

.ab-reg-label {
    padding-right:1em;
    font-size:.8em;   
}

.ab-reg-description {
    margin-bottom:0;
    font-size:.8em;
    color:var(--dark-grey);
}

#ab-reg-submit.disabled {
    background-color:var(--mid-grey);
}


.ab-reg-ajax_response {
    display:none;
    position:relative;
    left:0;
    padding:10px;
    max-width:300px;
    background-color:#f7f7f7;
    transition: height 0.3s ease-in-out; 
}



.ab-companylist li:hover {
    text-decoration:underline;
    font-weight:bolder;
    color:#418e4f;
}

.ab-notice {
    margin-top:var(--main-elem-bottom-margin);
    padding: var(--elem-inner-padding);
    border: 1px solid var(--dark-grey);
}

.ab-notice.error {
    border-color: red;
    border-left-width:10px;
}

.ab-order-confirmation {
    border:1px dashed var(--dark-grey);
    padding:var(--main-elem-bottom-margin);
    font-size:.8em;
}

.ab-order-confirmation h2 {
    font-size:2.5em;
}
.ab-order-confirmation h3 {
    font-size: 1.8em;
    color:var(--dark-grey);
}

.ab-mypage #mepr-account-nav {
    margin-top:var(--main-elem-bottom-margin) !important;
}

.ab-mypage-wrapper {
    background-color:var(--member-color-bg);
    padding:var(--elem-inner-padding);
}

.ab-mypage h2 {
    margin-bottom:var(--main-elem-bottom-margin);
}

.ab-mypage h3 {
    font-size:1.3em;
    color:var(--dark-grey);
}

fieldset.ab-mypage-form {
    border:none;
}

.ab-corp-field {
    margin-top:.5em;
}

.ab-corp-value,
 .ab-corp-input {
    min-width: 320px;
    padding: .2em .5em .2em .5em;
 }
 
 
 
 
.ab-corp-value {
    display:inline-block;
    background-color:var(--light-grey);
}

.ab-corp-input,
.ab-corp-save  {
    display:none;
}

.ab-corp-field label {
    color:var(--dark-grey);
    padding-right:.5em;
    font-size:.8em;
}


.ab-corp-edit-icon,
.ab-corp-save-icon,
.ab-corp-del-icon {
    max-height:1em;
    padding-right:.5em;
}

.ab-corp-edit-icon:hover,
.ab-corp-save-icon:hover,
.ab-corp-del-icon:hover {
      transform: scale(1.2);
}


.ab-corp-save-icon{
    fill:var(--main-color);
}

.ab-corp-del-icon {
    fill:var(--member-color);
}

.ab-corp-edit-icon path {
    fill:var(--dark-grey);
}

.ab-corp-loader {
    display:none;
    border: 3px solid var(--mid-grey);
    border-top: 3px solid var(--dark-grey);
    border-radius: 50%;
    width: .8em;
    height: .8em;
    animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.ab-corp-add-user {
    margin-bottom:var(--main-elem-bottom-margin);
}
.ab-corp-add-user-action {
    margin-top:var(--main-elem-bottom-margin);    
}

#ab-corp-add-user-msg {
    color:var(--main-color);
}

#ab-corp-add-user-msg.error {
    color:var(--member-color);
}


#ab-corp-add-user-form {
    display:none;
    margin-top:var(--main-elem-bottom-margin);
    margin-bottom:var(--main-elem-bottom-margin);
    background-color:var(--light-grey);
    padding:var(--elem-inner-padding);
}

.ab-corp-form-msg {
    font-size:.8em;
    color:var(--member-color);
}

.ab-corp-submit {
    margin-top:1em;
    margin-left:200px;
}

.ab-corp-submit.disabled {
    background-color:var(--mid-grey);
}

.ab-corp-loader-container {
    display:inline-block;
    margin-left:var(--elem-inner-padding);
}

#ab-corp-loader-add-user {
    height:1.2em;
    width:1.2em;
}

table.ab-corp-userlist {
    border-collapse: collapse;    
    background-color: var(--light-grey);
}

.ab-corp-userlist th {
    padding-left: var(--elem-inner-padding);
    font-size:.8em;
    text-align:left;
}

.ab-corp-userlist tr {
    position:relative;
    min-height:25px;

}

.ab-corp-userlist tr.new {
    font-weight:bold;
}

.ab-corp-userlist tr:nth-child(even) {
    background-color: #fff;
}

.ab-corp-userlist td {
    padding-left:var(--elem-inner-padding);
    font-size:.8em;
}

.ab-avatar {
    border-radius:50%;
}


td.ab-user-action {
    position:relative;
}


.ab-mypage-submit:hover {
    text-decoration:underline;
    background-color:var(--main-color-light);
}

.ab-sub-user-edit-box {
    display:none;    
    position:absolute;
    z-index:101;
    right:30px;
    top:-10px;
    border: 1px solid var(--dark-grey);
    box-shadow: 10px 10px 24px -11px rgba(0,0,0,0.5);
    padding:40px 20px 20px 20px;
    background-color:#fff;
    width:400px;    
}

.ab-sub-user-edit-box input {
    display:inline-block;
    margin-bottom:.5em;
}
.ab-sub-user-edit-close {
    position:absolute;
    right:20px;
    top: 10px; 
    color:var(--dark-grey);
    background-color:transparent ;
}

.ab-sub-user-edit-close:hover {
    color:var(--main-color);
    font-weight:bolder;
}

.ab-sub-user-submit:hover {
    background-color:var(--mid-grey);
}

.ab-boxinfo {
    margin-top:.5em;
    font-size:.8em;
    font-style:italic;
    color:var(--dark-grey);
}

.ab-mypage-inner-element {
    background-color:var(--light-grey);
    padding:var(--elem-inner-padding);
    margin-bottom:var(--main-elem-bottom-margin);
}

.ab-msg-success {
    color:var(--main-color);
}

.expiry-date.expired {
    color:var(--member-color);
}


.ab-mypage-subscription.expired {
    border:1px solid var(--member-color);
}


@media screen and (min-width: 600px) {
    .ab-reg-form-field {
        display:grid;
        grid-template-columns:1fr 3fr;
    }
 
    .ab-reg-group legend {
        font-size:1.5em;
    }

    .ab-corp-field label {
        display:inline-block;
        width:200px;
        text-align:right;
    }
    
    .ab-reg-label {
        text-align:right;
    }    
}
    
@media screen and (min-width: 800px) {    

    .ab-corp-userlist td {
        font-size:1em;    
    }    
}