/* Common */
body {
    /* DXCOMMENT: Duplicate a font family and font size from the web.config (devexpress->themes->font settings) for the web-site's HTML content */
    font: 15px Meiryo, 'Segoe UI', Helvetica, 'Droid Sans', Tahoma, Geneva, sans-serif !important;
}

/* Article Layout */

.text-content {
    margin: 0px auto;
    max-width: 816px;
    min-height: 100%;
    padding: 0px 14px 0px 14px;
    word-wrap: break-word;
}

@media (min-width: 816px) {
    .text-content { padding: 0px 48px; }
}

/* Base Styles */

.text-content {
    color: #666;
    line-height: 1.5;
}

.text-content p {
    margin-bottom: 1rem;
    margin-top: 0;
}

/* Headers */

.text-content h1, .text-content h2, .text-content h3, .text-content h4, .text-content h5, .text-content h6 {
    color: #444;
    font-weight: normal;
    margin-bottom: 0.5rem;
    margin-top: 0;
}

.text-content h3, .text-content h4, .text-content h5, .text-content h6 { font-weight: 600; }

.text-content h1 { font-size: 2em; }

.text-content h2 { font-size: 1.75em; }

.text-content h3 { font-size: 1.375em; }

.text-content h4 { font-size: 1.25em; }

.text-content h5 { font-size: 1.125em; }

.text-content h6 { font-size: 1em; }

.text-content > h1:not(:first-child) { margin-top: 1.75rem; }

.text-content > h2:not(:first-child) { margin-top: 1.5rem; }

.text-content > h3:not(:first-child) { margin-top: 1.25rem; }

.text-content > h4:not(:first-child) { margin-top: 1.125rem; }

.text-content > h5:not(:first-child) { margin-top: 1rem; }

.text-content > h6:not(:first-child) { margin-top: .9rem; }

/* Title + Lead */

.text-content .title {
    margin-bottom: .8rem;
    margin-top: 1.2rem;
}

@media (min-width: 576px) {
    .text-content .title {
        color: #222;
        font-size: 2em;
        font-weight: 600;
    }
}

.text-content .lead {
    font-size: 1.125rem;
    font-weight: 300;
}

@media (min-width: 576px) {
    .text-content .lead {
        font-size: 1.5rem;
        margin-bottom: 1rem;
        max-width: 80%;
    }
}

.text-content > h2.category {
    color: #222;
    font-weight: 600;
}

.text-content > h2.category:not(:first-child) { margin-top: 3rem; }


/* #href bookmark jump */

.text-content > h1[id]::before,
.text-content > h2[id]::before,
.text-content > h3[id]::before,
.text-content > h4[id]::before {
    content: "";
    display: block;
    height: calc(3.13rem + 1.2rem); /* Main Menu Height (3.13rem) + .title margin-top = 1.2rem */
    margin-top: calc(-3.13rem - 1.2rem);
    visibility: hidden;
}


/* Link */

.text-content a {
    /* DXCOMMENT: Duplicates color from the web.config (devexpress->themes->baseColor) */
    color: #007BF7;
}

.text-content a:visited {
    /* DXCOMMENT: Duplicates color from the web.config (devexpress->themes->baseColor) */
    color: #005CB9; /* 25% black overlay */
}

.text-content a:hover {
    /* DXCOMMENT: Duplicates color from the web.config (devexpress->themes->baseColor) */
    color: #59A9F9; /* 35% white overlay */
}

.text-content b, .text-content strong { color: #444; }

mark {
    /* DXCOMMENT: Duplicates color from the web.config (devexpress->themes->baseColor) */
    background-color: #007BF7;
    color: #fff;
}

small {
    color: #999999;
    font-size: 0.75em;
}

code, pre {
    font-family: Consolas, Menlo, Monaco, "Liberation Mono", "Courier New", monospace;
    font-size: 0.875em;
}

hr {
    background-color: #000000;
    border: 0;
    height: 1px;
    margin-bottom: 1rem;
    margin-top: 1rem;
    opacity: 0.1;
}

blockquote {
    background-color: #f2f2f2;
    border: 0;
    border-left: 6px solid #d8d8d8;
    color: #444;
    font-size: 1.125em;
    margin: 0;
    margin-bottom: 1rem;
    padding: 29px 26px;
}

blockquote p { margin-top: 0; }

blockquote footer {
    color: #999;
    display: block;
    font-size: 0.875em;
    font-style: italic;
}

blockquote footer::before { content: "\2014 \00A0"; }

/* Contents (Left Panel) */

.section-caption.contents-caption {
    border-top: none !important;
    padding-left: 31px;
}


/* Lists */

.text-content ul,
.text-content ol {
    margin-bottom: 1em;
    margin-top: 1em;
}

@media (min-width: 992px) {
    .bd-content > ul, .bd-content > ol, .bd-content > p { max-width: 80%; }
}

/* Text Alignment */

.text-center { text-align: center !important; }

.text-right { text-align: right !important; }

.indent-p {
    padding-left: 40px;
    padding-right: 20px;
}

.bordered-block {
    background-color: #f2f2f2;
    border-width: .2rem;
    margin-left: 0;
    margin-right: 0;
    padding: 1.5rem;
}

@media (min-width: 576px) {
    .bordered-block {
        border-width: .2rem;
        margin-left: 0;
        margin-right: 0;
        padding: 1.5rem;
    }
}

/* Tables */

.table {
    background-color: transparent;
    border-collapse: collapse;
    margin-bottom: 1rem;
}

.table td,
.table th {
    border-top: 1px solid #dee2e6;
    padding: .75em;
    padding-bottom: 0.5em;

    padding-top: 0.5em;
    text-align: left;
    vertical-align: top;
}

.table thead th {
    background-color: #f2f2f2;
    border-bottom: 1px solid #d8d8d8;
    color: #222;
}

.table thead tr { box-shadow: 0px 2px 4px 0 rgba(0, 0, 0, 0.23); }

.table tbody + tbody { border-top: 1px solid #dee2e6; }

.table-bordered { border: 1px solid #dee2e6; }

.table-bordered td,
.table-bordered th { border: 1px solid #dee2e6 }

.table-bordered thead td,
.table-bordered thead th { border-bottom-width: 1px }

.table-responsive {
    -ms-overflow-style: -ms-autohiding-scrollbar;
    -webkit-overflow-scrolling: touch;
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

/* Code, Control Area Block */

.control-area-block {
    background-color: #f8f9fa;
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    width: 100%;
}

/* Images */

.img-responsive {
    height: auto;
    max-width: 100%;
}

.img-float-left {
    float: left;
    padding-bottom: 40px;
    padding-right: 40px;
}

@media (max-width: 576px) {
    .img-float-left {
        padding-bottom: 16px;
        padding-right: 16px;
    }
}

/* Printing Styles */

@media print {
    .menu-container, .left-block, .right-block,
    .footer-wrapper { display: none !important; }

    .left-panel { display: none !important; }

    .text-content { max-width: 100%; }

    html { padding: 0 !important; }

    .page-toolbar-wrapper { display: none !important; }
}

/*update progress*/

.modal {
    background-color: rgba(0, 0, 0, 0.46);
    height: 100%;
    left: 0px;
    opacity: 0.6;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999999;
}

.center {
    -webkit-transform: translate(-50%, -50%);
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 99999;
}

.sk-double-bounce {
    height: 40px;
    margin: 40px auto;
    position: relative;
    width: 40px;
}

.sk-double-bounce .sk-child {
    -webkit-animation: sk-doubleBounce 2s infinite ease-in-out;
    animation: sk-doubleBounce 2s infinite ease-in-out;
    background-color: #FFFFFF;
    border-radius: 50%;
    height: 100%;
    left: 0;
    opacity: 0.6;
    position: absolute;
    top: 0;
    width: 100%;
}

.sk-double-bounce .sk-double-bounce2 {
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s;
}

@-webkit-keyframes sk-doubleBounce {
    0%, 100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    50% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes sk-doubleBounce {
    0%, 100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    50% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}