body {
    background-color: #333;
    color: #eee;
    font-family: 'Montserrat', sans-serif;
    text-align: center;
}

a {
    color: #c9c9dd;
}

.root {
    padding: 0px 50px;
}

h1,
h2,
h3 {
    font-weight: 700;
}

h1 {
    margin-top: 40px;
    margin-bottom: 40px;
}

td {
    padding: 20px 0px;
    text-align: justify;
    text-justify: inter-word;
    line-height: 1.6;
}

.main-table {
    max-width: 800px;
}

.main-table td.point:hover {
    background-color: #445;
}

.main-table td {
    border: 0px;
}

.row-separator .main-table tr:not(:first-child) td.point {
    border-top: solid 1px #666;
}

.col-separator .main-table td.point:not(:first-child) {
    border-left: solid 1px #666;
}

td.mini-point {
    padding: 7px 7px;
}

table {
    padding: 0px 10px;
}

.text-wrapper {
    padding-top: 25px;
    padding-bottom: 1px;
}

td.icon {
    min-width: 20px;
    padding: 5px 5px;
}

.see-also-wrapper {
    text-align: right;
    display: block;
    float: right;
}

.see-also {
    color: #333;
    font-size: 0.9em;
    margin-left: 10px;
}

tr:hover .see-also {
    color: #ddd;
}

tr:hover .see-also:hover {
    color: #fff;
}

.sheet-item {
    font-size: 13px;
}

#sheet-box {
    border: solid 1px #aaa;
    max-width: 500px;
    padding-top: 5px;
    padding-bottom: 20px;
}

.sheet-box-wrapper {
    flex: auto;
}

.sheet-box-after {
    flex: auto;
}

#input,
#topic {
    margin-top: 20px;
    margin-bottom: 20px;
    width: 100%;
    max-width: 500px;
    padding: 10px;
    background-color: #333;
    color: #fff;
}

.tool-btn {
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 7px 20px;
}

#caption-topic {
    margin-top: 50px;
    font-size: 16px !important;
}

#caption-edit {
    margin-top: 20px;
}

#caption-card {
    margin-top: 20px;
    margin-bottom: 20px;
}

#caption-export {
    margin-top: 20px;
    margin-bottom: 5px;
}

.card-footer-top {
    font-size: 12px;
    margin-top: 1px;
    margin-bottom: 15px;
    font-stretch: expanded !important;
}

.card-footer-bottom {
    font-size: 12px;
    margin-top: 18px;
    margin-bottom: 5px;
    font-stretch: expanded !important;
}

.caption {
    font-weight: 700;
    font-size: 18px;
}

#title {
    font-size: 20px;
    margin-left: 15px;
    margin-right: 15px;
    margin-top: 25px;
    margin-bottom: 15px;
}

.step-num-1 {
    padding: 1px 8px;
}

.step-num-2 {
    padding: 1px 7px;
}

.step-num-3 {
    padding: 1px 7px;
}

.step-num {
    font-size: 17px;
    background-color: #fff;
    color: #000;
    margin-right: 5px;
    border-radius: 30px;
}

#site-title {
    font-size: 36px;
    margin-top: 40px;
    margin-bottom: 0px;
}

.site-subtitle {
    font-size: 24px;
    margin-top: 18px;
    margin-bottom: 25px;
}

.site-subtitle2 {
    font-size: 18px;
    margin-top: 18px;
    margin-bottom: 45px;
}

.site-desc {
    font-size: 22px;
    margin-top: 10px;
    margin-bottom: 15px;
}

.ask-answer {
    font-size: 16px;
    margin-top: 32px;
    margin-bottom: 0px;
}


#footer-slogan {
    font-weight: bold !important;
}

p.legal-details {
    font-size: 13px !important;
    color: #FFF;
    font-weight: bold !important;
}

p.legal-details a {
    font-size: 13px !important;
    color: #FFF;
    font-weight: bold !important;
}