html,
body {
    min-height: 100%;
    height: 100%;
    margin: 0
}

body {
    color: #212529;
    background-color: #eee;
    font-family: sans-serif;
    align-items: stretch;
}


nav {
    font-family: sans-serif;
}

.content {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 1rem;
    padding-bottom: 12px !important;
    background-color: #fff !important;
    border: 1px #a7c9de solid !important;
}

@media(min-width:960px) {
    .content {
        width: 960px
    }
}

.content li {
    margin-bottom: .3rem
}

.content li:last-child {
    margin-bottom: 0
}

.service-grid {
    margin-top: 2rem
}

.service-grid h3 {
    font-weight: 700;
}

.service-grid blockquote {
    border-left: unset;
    background-color: unset;
    font-style: italic;
    padding-left: 2.5rem
}

.index-grid,
.service-grid {
    display: grid;
    width: 100%;
    grid-template-columns: 4fr 2fr;
    grid-gap: 1rem
}

@media(max-width:960px) {

    .index-grid,
    .service-grid {
        display: block;
        width: auto
    }
}

.index-grid .left,
.service-grid .left {
    grid-column-start: 1
}

.index-grid .right,
.service-grid .right {
    grid-column-start: 2
}

img,
video {
    display: block;
    max-width: 100%;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, .4);
    margin: 0 auto
}


img.halfwidth {
    max-width: 50%;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, .4);
    margin-left: auto;
    margin-right: auto;
}

.service-grid img {
    margin-top: 10px;
    margin-bottom: 10px;
}

.clearfix {
    clear: both
}

.text-muted {
    color: #666
}

.text-success {
    color: #2bb34b
}

.text-danger {
    color: #ff3e3e
}

pre {
    background: #eee;
    padding: .5rem;
    margin: 0 -.5rem;
    overflow-x: auto
}

pre code {
    font-size: .9rem
}

code {
    background: #ccc;
    font-size: 1rem;
    color: #f4254e;
}

header {
    margin: 0;
    background-color: #a7c9de;
    padding-bottom: 12px;
}

nav {
    padding: .5rem 1rem 0;
    max-width: 960px;
    margin: 0 auto;
    clear: both
}

nav a:not(:first-child):not(.btn) {
    margin-left: 1rem;
    color: #666
}
nav a:not(:first-child):not(.btn):hover {
    color: black;
}

nav .brand {
    font-size: 1.25rem;
    position: relative;
    top: 1px
}

nav .brand a {
    text-decoration: none;
    color: #212529 !important;
    margin-left: 0 !important
}

nav a:not(:first-child):not(.btn):hover {
    text-decoration: none;
    border-bottom: #f4254e solid 1px;
}

nav .brand a em, h1 em, h2 em, h3 em, .tagline em, em.x {
    font-style: normal;
    color: #f4254e;
}

.right {
    max-width: 360px;
}

.brand {
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
    width: 80px;
    height: 20px;
    min-width: 80;
    min-height: 20;
    background-size: 80px 20px;
    background-image: url(/img/sxmo_logo_small.png);
}

#logo {
    margin-left: auto;
    margin-right: auto;
    width: 320px;
    height: 84px;
    min-width: 320px;
    min-height: 84px;
    background-size: 320px 84px;
    background-image: url(/img/sxmo_logo_with_motto.png);
}

/* dark mode overrides */
@media (prefers-color-scheme: dark) {

    body {
        color: #ccc;
        background-color: #232729;
    }
    nav a:not(:first-child):not(.btn) {
        color: #aaa !important;
    }
    nav a:not(:first-child):not(.btn):hover {
        color: #fff !important;
        background-color: transparent !important;
    }
    header {
        background-color: transparent !important;
    }
    nav .brand a{
        color: #fff !important;
    }
    .content {
        background-color: #33393b !important;
        border: 1px black solid !important;
        padding-bottom: 12px !important;
    }
    nav .brand a em {
        font-style: normal;
    }
    pre {
        background: #111 !important;
    }
    code {
        background: #111 !important;
    }
    blockquote {
        color: #999 !important;
    }
    .tagline {
        color: #bbb;
    }
    .brand {
        background-image: url(/img/sxmo_logo_dark_small.png) !important;
    }

    #logo {
        background-image: url(/img/sxmo_logo_with_motto_dark.png);
    }

    blockquote {
        background: #eee;
        color: #666;
    }

    .man blockquote {
        background: transparent;
        color: #aaa !important;
    }

    a {
        color: #4ca3ff !important;
    }
}





.content {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 1rem
}

@media(min-width:960px) {
    .content {
        width: 960px
    }
}

.content li {
    margin-bottom: .3rem
}

.content li:last-child {
    margin-bottom: 0
}

.service-grid {
    margin-top: 2rem
}

.service-grid blockquote {
    border-left: unset;
    background-color: unset;
    font-style: italic;
    padding-left: 2.5rem
}

.index-grid,
.service-grid {
    display: grid;
    width: 100%;
    grid-template-columns: 4fr 2fr;
    grid-gap: 1rem
}

@media(max-width:960px) {

    .index-grid,
    .service-grid {
        display: block;
        width: auto
    }
}

.index-grid .left,
.service-grid .left {
    grid-column-start: 1
}

.index-grid .right,
.service-grid .right {
    grid-column-start: 2
}

img,
video {
    display: block;
    max-width: 100%;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, .4);
    margin: 0 auto
}

.clearfix {
    clear: both
}

.text-muted {
    color: #666
}

.text-success {
    color: #2bb34b
}

.text-danger {
    color: #ff3e3e
}

pre {
    padding: .5rem;
    margin: 0 -.5rem;
    overflow-x: auto
}

pre code {
    font-size: .9rem
}

code {
    background: #eee;
    font-size: 1rem
}

nav {
    padding: .5rem 1rem 0;
    max-width: 960px;
    margin: 0 auto;
    clear: both
}

nav a:not(:first-child):not(.btn) {
    margin-left: 1rem;
    color: #666
}

nav .brand {
    font-size: 1.25rem;
    position: relative;
    top: 1px
}

nav .brand a {
    color: black;
}

nav .brand .icon {
    width: 1.2rem
}

@media(max-width:720px) {
    nav .hidden-small {
        display: none
    }
}

.icon {
    display: inline-block;
    line-height: .75em;
    width: .4em;
    vertical-align: -.17em
}

.icon path {
    fill: currentColor
}

form {
    margin-bottom: 1rem
}

a {
    color: #007bff;
    text-decoration: none
}

a:hover {
    color: #0056b3;
    text-decoration: underline
}

.btn {
    display: inline-block;
    padding: .1rem .75rem;
    background: #e9ecef;
    border: #343a40 1px solid;
    font-size: .9rem;
    font-weight: 400;
    line-height: 1.5;
    cursor: pointer;
    color: #000;
    border-radius: 0;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

.btn:hover {
    text-decoration: none;
    background: #f8f9fa;
    color: #000
}

.btn.btn-primary {
    border: #001933 1px solid;
    background: #007bff;
    color: #fff
}

.btn.btn-primary:hover {
    background: #0069d9;
    color: #fff
}

.btn.btn-info {
    border: #062a30 1px solid;
    background: #17a2b8;
    color: #fff
}

.btn.btn-info:hover {
    background: #138496;
    color: #fff
}

.btn.btn-block {
    display: block;
    text-align: center
}

.form-group {
    margin-bottom: 1rem
}

input[type=text],
input[type=password],
input[type=email] {
    display: block;
    width: calc(100% - 1rem);
    border: 1px solid #888;
    padding: .375rem;
    font-size: 1rem;
    line-height: 1.5;
    background-color: #fff;
    background-clip: padding-box;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    border-radius: 0
}

input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus {
    outline: 0;
    border-color: #80bdff;
    box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25)
}

label {
    display: inline-block;
    margin-bottom: .25rem
}

.alert {
    padding: .5rem;
    border: 1px solid transparent;
    margin-bottom: 1rem
}

.alert.alert-danger {
    background: #f8d7da;
    color: #721c24;
    border-color: #f5c6cb
}

.alert.alert-info {
    background: #d1ecf1;
    color: #0c5460;
    border-color: #bee5eb
}

h3 {
    font-size: 1.3rem;
    border-bottom: 1px solid #e9ecef;
    padding-bottom: .25rem;
    margin-bottom: .5rem;
    font-weight: 500;
    margin-top: 0
}

h4 {
    font-size: 1.1rem;
    border-bottom: 1px solid #e9ecef;
    padding-bottom: .25rem;
    margin-bottom: .5rem
}

.pull-right {
    float: right
}

.event {
    padding: .5rem;
    margin: .5rem 0;
    background: #f5f5f5
}

.event:first-child {
    margin-top: 0
}

.event:last-child {
    margin-bottom: 0
}

.event h4 {
    margin-bottom: 0;
    padding: 0
}

.event blockquote {
    margin-bottom: .5rem
}

.event blockquote *:last-child {
    margin-bottom: 0
}

.event *:last-child {
    margin-bottom: 0
}


.info {
    padding-bottom: .25rem;
    color: #fff;
    font-size: .9rem
}

footer {
    font-size: 90%;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2rem
}

footer p:first-child,
.infobox p:first-child {
    margin-top: 0
}

footer .box,
.infobox .box {
    background: #f4f4f4;
    padding: 2rem 0
}

footer strong,
footer h4,
.infobox strong,
.infobox h4 {
    color: #333
}

footer form,
.infobox form {
    max-width: 480px;
    margin: 0;
    align-self: flex-end
}

footer .footer-links,
.infobox .footer-links {
    margin: 1rem 0;
    text-align: center
}

.infobox .footer-links>* {
    margin-right: 2rem
}

.infobox .footer-links>*:last-child {
    margin-right: 0
}

footer blockquote {
    background: 0 0;
    text-align: center;
    max-width: 600px;
    margin: 1rem auto;
    color: #444;
    border: none
}

.stub h2 {
    margin-bottom: 0
}

article.content {
    max-width: 720px;
    line-height: 1.3
}

blockquote {
    margin-left: calc(-4px - 1rem);
    margin-right: calc(-4px - 1rem);
    padding: .25rem 1rem;
    border-left: 4px solid #333;
}

iframe {
    display: block;
    margin: 0 auto
}

details {
    padding: 0 1rem;
    margin: 0 -1rem 1rem
}

details summary {
    background: #dee2e6;
    padding: 0 1rem;
    margin: 0 -1rem;
    cursor: pointer
}

details[open] {
    padding: 0 1rem;
    margin-left: calc(-1rem - 4px);
    border-left: 4px solid #dee2e6
}

video.prominent {
    width: 560px;
    height: 315px;
}

div.tagline {
    width: 80%;
    margin-top: -20px;
    font-size: 1.1em;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    font-style: italic;
    font-weight: 200;
}
div.tagline em {
    font-weight: bold;
    font-size: 120%;
}

.man {
    line-height: 1.3em;
}
.man h2 {
    font-size: 1.3em;
    border-bottom:  1px solid  #ff7691;
    color: #ff7691;
}
.man h3 {
    font-size: 1em;
    border: 0px;
    font-weight: bold;
    margin-top: 1em;
    color: #ff7691;
}
.man .header-date {
   color: #666;
}
.man ol, .man ul {
   padding-left: 1.7em;
   margin-top: 1em;
 }
.man li > ol, .man li > ul {
   margin-top: 0;
 }
.man blockquote {
   margin: 1em 0 1em 1.7em;
   padding-left: 1em;
   background: transparent;
   border: none;
 }
.man pre {
   margin-left: 20px;
   margin-right: 20px;
}
.man code {
   font-family: FiraMono Nerd Font, Sxmo, Menlo, Monaco, 'Lucida Console', Consolas, monospace;
   font-size: 85%;
   margin: 0;
   white-space: pre-wrap;
}
.man p, .man ul, .man ol {
    padding-left: 20px;
    padding-right: 20px;
}
.man ul, .man ol {
    padding-left: 40px;
    padding-right: 20px;
}
.man .content header {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
