* {
    margin: 0;
    padding: 0;
    font-family: 'Titillium Web', sans-serif;
}

body {
    background-color: var(--main-bg-color);
    color: rgb(255, 255, 255);
}

a {
    color: rgb(255, 255, 255);
    text-decoration: none;
}
.success {
    color: lawngreen;
}
.danger {
    color:crimson;
}
.sronly {
    display:none;
}
.wrap-image-left {
    float: left;
}

button {
    background-color: var(--theme-bg-color);
    color: rgb(255, 255, 255);
    padding:0.5em;
    border-radius: 10px;
    border:0;
    min-width: 100px;
    cursor: pointer;
}

/*** { Site Header Start ***/
body>header {
    display: flex;
    justify-content: space-between;
}

body>header>nav {
    width: 15%;
}

body>header>img {
    width: 80%;
}

@media (min-width: 1024px) {
    body>header {
        flex-direction: column;
    }

    body>header>img {
        width: 700px;
        height: 188px;
        margin: 0 auto;
    }

    body>header>nav {
        width: 100%;
    }
}

/*** { Site Header end ***/

/*** { Site navigation start ***/
#siteMenu {
    overflow: scroll;
}

#siteMenu,
#siteMenu ul {
    list-style: none;
}

#siteMenu {
    background-color: var(--theme-bg-color);
    list-style: none;
    display: none;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 501;
}

body>header nav input[type=checkbox] {
    display: none;
}

body>header nav>ul>li {
    text-align: center;

}

body>header nav>ul>li a {
    display: block;
    padding: 0.5em 0
}

#siteMenuToggleButton {
    position: fixed;
    background: var(--theme-bg-color);
    border: none;
    width: 50px;
    height: 50px;
    padding: 10px;
    z-index: 505;
    border-bottom-left-radius: 10px;
    right: 0;
}

#siteMenuToggleButton img {
    width: 100%;
}

#siteMenuToggle:checked+#siteMenu {
    display: block;
}

.subnav,
.subsubnav {
    border-bottom: thin solid rgb(255, 255, 255);
}

.subsubnav {
    font-size: 0.9em;
}

.twitter {
    display: flex;
    align-items: center;
    justify-content: center;
}
.facebook section {
    display: flex;
    justify-content: center;
}
@media (min-width: 1024px) {
    #siteMenuToggleButton {
        display: none;
    }

    #siteMenu {
        display: block;
        position: static;
        overflow: hidden;
        display: flex;
        list-style: none;
        justify-content: center;
    }

    .subnav,
    .subsubnav {
        border: none;
    }

    #siteMenu a {
        display: inline-block;
        padding: 10px 20px;
        margin: 0 10px;
        width: auto !important;
        font-size: 1.4em;
        text-transform: uppercase;
    }

    #siteMenu .subnav,
    .subsubnav {
        display: none;
        z-index: 50;
    }

    #siteMenu>li:hover .subnav {
        display: block;
        position: absolute;
        background: #333F42;
        font-size: 8pt;
    }

    #siteMenu>li:hover .subnav>li:hover>.subsubnav {
        display: block;
        position: absolute;
        left: 100%;
        top: 0;
        background: #333F42;
        font-size: 8pt;
        border-left: thin solid #48595e;
        min-height: 100%;
    }
}


/*** { Site navigation end ***/

/*** { Site footer start ***/
footer {
    margin: 0 10px;
}

footer nav header {
    background-color: var(--theme-bg-color);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    margin-top: 2em;
}

footer nav header h1 {
    margin: 0 10px;
    background-color: var(--main-bg-color);
    display: inline-block;
    padding: 0 10px;
}
footer ul {
    list-style:none;
}
footer nav ul li {
    text-align: center;
}

footer nav ul li a {
    padding: 1em 10px;
    display: block;
}

footer nav img {
    max-width: 100%;
}
.contents form label, .contents form input, .contents form textarea {
    display: block;
    width:100%;
    margin:0.5em 0;
}
@media (min-width: 1024px) {
    footer {
        max-width: 1024px;
        background-color: var(--theme-bg-color);
        border-radius: 20px;
        margin: 0 auto 1em auto;
        padding: 10px 0 10px 10px;
        display: grid;
        grid-template-columns: 50% 50%;        
    }
    footer > .left {
        background-color: var(--main-bg-color);
        border-radius: 20px;
        padding:10px;
        display:grid;
        grid-template-columns: repeat(2,50%);
        grid-template-rows:auto;
        grid-template-areas:
        "ssrf jktona"
        "bannerexchange bannerexchange"
        ;
    }
    footer > .right { 
        display:flex;
        text-align: left;
        background-color: var(--main-bg-color);
        margin: 2em 0;
    }
    footer > .left li {
        text-align: left;
    }

    footer nav header {
        
        background: none ;
        border-bottom: thin solid var(--theme-bg-color);
        border-radius: 0;
        
    }
    footer .ssrf {
        grid-area: ssrf;
    }
    footer .jktona {
        grid-area: jktona;
    }
    footer .bannerExchange {
        grid-area: bannerexchange;
    }
    footer .bannerExchange ul {
        display: grid;
        grid-template-columns: 50% 50%;
    }

    footer > .right h1 {
        background: none;        
    }
    footer > .right nav li{ 
        text-align: left;
    }
    .twitter {
        justify-content: start;
    }
    footer > .right nav {
        min-width: 40%;
    }
    footer .paramount {
        font-size: small;
    }
}
/*** { Site footer end ***/

/*** { Site Index start ***/
main {
    padding: 0 10px;
}

.halfBox {
    background: none;
    margin-top: 2em;
}

.halfBox header {
    background-color: var(--theme-bg-color);
    text-align: right;
    padding: 0 10px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    margin-top: 1em;
}

.halfBox header h1 {
    background-color: var(--main-bg-color);
    display: inline-block;
    padding: 0 10px;
    font-size: 14pt;
}

.halfBox>section {
    margin: 1em 10px;
}

.halfBox>section p {
    padding: 0 0 1em 0;
}

.halfBox>section>ul {
    list-style: none;
}

.halfBox>section>ul>li>h2,
.halfBox>section>ul>li>a>h2 {
    font-size: 12pt;
    margin-bottom: 0.5em;
}

.halfBox>section>ul>li>time {
    text-align: right;
    display: block;
}

.slideContainer {
    display: none;
}

@media (min-width: 1024px) {
    .index {
        display:grid;
        grid-template-columns: repeat(2,50%);
        grid-template-rows:auto;
        grid-template-areas:
        "slides about"
        "news facebook"
        "apod facebook"
        ;
    }

    .index .halfBox {
        padding: 1em 5%;
    }
    .about {
        grid-area:about; 
    }
    .news {
        grid-area:news; 
    }
    .apod {
        grid-area:apod; 
    }
    .facebook {
        grid-area:facebook;        
    }

    .slideContainer {
        display: flex;
        width:800px;
        height:370px;   
        flex-direction: column;
        grid-area: slides;
        overflow: hidden;
        padding: 10px;
        background-color: var(--theme-bg-color);
        background-color: rgb(42, 53, 55);
        border-radius: 20px;
        max-width: 100%;
        margin: 4em auto 0 auto;
    }

    .slideContainer .slideControls {
        display: flex;
        flex-grow: 1;
        justify-content: space-between;
        align-items: center;
    }

    .slideContainer .slideControls button {
        border: none;
        background: none;
    }

    .slideContainer .slideControls .slideLinks button {
        background: white;
        border-radius: 7px;
        margin: 0 7px;
        width: 7px;
        height: 7px;
        transition: background-color 0.6s ease;
    }

    .slideContainer .slideControls .slideLinks button.active {
        background-color: #00a8ff;
    }

    .slideContainer .slideControls .slideLinks button:hover {
        background-color: #ff7f00;
    }

    .slideContainer .slideControls .slideLinks button:disabled {
        background-color: #d0d0d0;
    }

    .innerSlideContainer {
        display: flex;
        position: absolute;
        transition: left 0.6s ease;
        left: 0;
    }

    .slides {
        width:800px;
        height:310px;
        overflow: hidden;
        background-color: var(--main-bg-color);
        border-radius: 20px;
        max-width: 100%;
        position: relative;
    }

    .slides .slide {

        width:800px;
        height:310px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .slides .slide img {
        max-width: none;
        max-height: none;
        width:100%;
        height:100%;
    }

    .slides .slide .row {
        display: flex;
    }

    .slideControls button {
        cursor: pointer;
    }
}

/*** } Site Index end ***/

/*** { Staff listing start ***/
.staffLists .hide .positions {
    display: none;
}
.staffList h1 svg {
    transform: rotate(90deg);
    /* animation: 500ms 1 linear 0s 1 alternate; */
    transition-duration: 0.5s;
    transition-property: transform;
    transition-timing-function: ease-in-out;
}

.staffList.hide h1 svg {
    transform: rotate(0deg);
}
.staffLists header {
    background-color: var(--theme-bg-color);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}
.staffLists header h1 {
    display: inline-block;
    background-color: var(--main-bg-color);
    padding: 0 10px;
    margin: 0 10px;
}


.staffLists .position {
    text-align: center;
    margin:1em 0;
    list-style: none;
}
.staffLists .position .name {
    width: 100%;
    
    padding:0.5em;
}
.staffLists .position .holder * {
    display: block;
}

@media (min-width: 1024px) {
    .staffLists  {
        width:1024px;
        background: none repeat scroll 0% 0% #2B3638;
        border-radius: 10px;
        padding-bottom: 10px;
        margin: 1em auto;
    }
    .staffLists header {
        background:none;
        text-align: center;
    }
    .staffLists header h1 {
        text-align: center;
    }
    .staffLists .positions {
        background-color: var(--main-bg-color);
        border-radius: 10px;
        margin: 0 10px;
        padding: 10px;
    }
    .staffLists .position {
        margin: 0 0 1em 0;
        display: flex;        
    }
    .staffLists .position .name {
        width: 395px;
        text-align: left;
    }
    .staffLists .position .rank {
        width: 164px;
    }
    .staffLists .position .holder {
        width: 375px;
        text-align: left;
    }
    .staffLists .position .holder .name {
        padding: 0;
    }
}
/*** } Staff listing end ***/

/*** { Content ***/
.content {
    margin:1em auto;
}
.content > header {
    background-color: var(--theme-bg-color);
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}
.content > header h1  {
    display: inline-block;
    background-color: var(--main-bg-color);
    padding:0 10px;
    margin: 0 10px;
}
.content .contents {
    padding:10px;
    
}
.content .contents ul {
    margin-left:1em;
    padding: 0 0 0.5em 0;
}
.content .contents p {
    padding: 0 0 0.5em 0;
}
/* Try to prevent images in content from being too wide on mobile */
.content .contents img {
    max-width: 90%;
}
@media (min-width: 1024px) {
    .content {
        margin:1em auto;
        padding: 0 0 10px 0;
        width: 1024px;
        background-color: var(--theme-bg-color);
        border-radius: 20px;
    }
    .content > header {
        background: none;
        text-align: center;
    }
    .content .contents {
        margin: 0 10px;
        background-color: var(--main-bg-color);
        border-radius: 10px;
    }
}
/*** } ***/

/*** { file list start **/
    .content .contents .fileList {
        margin:1em 0;
        list-style: none;
    }
    .content .contents .fileList li {
        margin:1em 0;
        text-align: center;
    }
    .content .contents .fileList li h2 {
        font-size: 1.2em;
    }
@media (min-width: 1024px) {
    .content .contents .fileList {        
        display: grid;
        grid-template-columns: 25% 25% 25% 25%;        
    }
    .content .contents .fileList li {
        width:200px;
    }
}
/*** } file list end ***/

/*** { Ship List start ***/
.shipList p.errorMsg {
    background-color: var(--main-bg-color);
    margin:1em;
    padding:1em;
    border-radius:10px;
}
.shipList > ul {
    margin: 1em 0;
    list-style: none;
}
.shipList > ul li  {
    margin: 0.5em 0;
}
.shipList > ul li header {
    background-color: var(--theme-bg-color);    
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}
.shipList > ul li header h2 {
    background-color: var(--main-bg-color);
    display:inline-block;
    padding: 0 10px;
    margin: 0 10px;
    font-size: 1.3em;
}

.shipList .banner img {
    display: block;
    text-align: center;
    width:100%;
}

.shipList .ops .opsDetails {
    display: grid;
    grid-template-columns: 50% 50%;
    list-style: none;
}

.shipList .ops.seasons .opsDetails {
    grid-template:
        "HopsStatus opsStatus"
        "HtotalCrew totalCrew"
        "HshipClass shipClass"
        "HrpPlatform rpPlatform"
        "HcurrentMission currentMission"
        "HmissionSeason missionSeason"
        "HmissionSynopsis HmissionSynopsis"
        "missionSynopsis missionSynopsis"
    ;
}
.shipList .ops.standAlone .opsDetails {
    grid-template:
        "HopsStatus opsStatus"
        "HtotalCrew totalCrew"
        "HshipClass shipClass"
        "HrpPlatform rpPlatform"
        "HcurrentMission currentMission"
        "HmissionSynopsis HmissionSynopsis"
        "missionSynopsis missionSynopsis"
    ;
}


.shipList section {
    border-bottom: thick solid var(--theme-bg-color);
    padding: 1em 0;
}
.shipList section > h3 {
    text-align: center;
}
.shipList section.command {
    border:none;
}
.shipList .command ul {
    list-style: none;
}
.shipList .command ul, .shipList .banner {
    text-align: center;
    margin: 1em 0;
}
h4.opsStatus { grid-area: HopsStatus; }
h4.totalCrew { grid-area: HtotalCrew; }
h4.shipClass { grid-area: HshipClass; }
h4.rpPlatform { grid-area: HrpPlatform; }
h4.missionSeason { grid-area: HmissionSeason; }
h4.currentMission { grid-area: HcurrentMission; }
h4.missionSynopsis { grid-area: HmissionSynopsis; }

span.opsStatus { grid-area: opsStatus; }
span.totalCrew { grid-area: totalCrew; }
span.shipClass { grid-area: shipClass; }
span.rpPlatform { grid-area: rpPlatform; }
span.missionSeason { grid-area: missionSeason; }
span.currentMission { grid-area: currentMission; }
span.missionSynopsis { grid-area: missionSynopsis; }

@media (min-width: 1024px) {
    .shipList .ops.standAlone .opsDetails {
        display: grid;
        grid-template-columns: 25% 25% 25% 25%;
        grid-template: 
        "HopsStatus opsStatus HtotalCrew totalCrew"
        "HshipClass shipClass HrpPlatform rpPlatform"
        "HcurrentMission currentMission currentMission currentMission"
        "HmissionSynopsis HmissionSynopsis HmissionSynopsis HmissionSynopsis"
        "missionSynopsis missionSynopsis missionSynopsis missionSynopsis"
        ;
    }
    .shipList .ops.seasons .opsDetails {
        display: grid;
        grid-template-columns: 25% 25% 25% 25%;
        grid-template: 
        "HopsStatus opsStatus HtotalCrew totalCrew"
        "HshipClass shipClass HrpPlatform rpPlatform"
        "HcurrentMission currentMission HmissionSeason missionSeason"
        "HmissionSynopsis HmissionSynopsis HmissionSynopsis HmissionSynopsis"
        "missionSynopsis missionSynopsis missionSynopsis missionSynopsis"
        ;
    }
    /*
    .shipList .ops ul {
        grid-template-columns: 25% 25% 25% 25%;
        grid-template:
        "opsStatus totalCrew shipClass rpPlatform"
        "currentMission currentMission currentMission currentMission"
        "missionSynopsis missionSynopsis missionSynopsis missionSynopsis"
    ;
    }*/
    .shipList .rpSections {
        background-color: var(--main-bg-color);
        border-radius: 10px;
    }
    .shipList .banner {
        margin: 0;
        padding :1em 5%;
    }
    .shipList > ul > li {
        margin: 0 10px;
        padding:0;
    }
    .shipList > ul > li section > h3 { 
        margin:0.5em;
    }
    .shipList .command ul {
        margin: 1em 0 0 0;
        display: grid;
        grid-template-columns: 50% 50%;
    }
    .shipList > ul li header {
        background: var(--theme-bg-color);
        text-align: center;
        border-radius: 0;
    }
    .shipList .ops {
        padding:10px;
    }
    
    .shipList .banner img {
        width: 500px;
        margin: 0 auto;
    }
}
/*** } Ship List end **/

/*** { Awards list ***/
    .awardsList {
        list-style: none;
    }
    .awardsList > li {
        margin:1em 0;
    }

.awardsList h2, .awardImg {
    text-align: center;
}
@media (min-width: 1024px) {
    .awardsList > li > header {
        display: grid;
        grid-template-columns: 50% 50%;
    }
}
.awardsList .awarded {
    font-size: small;
    text-align: center;
}
.awardsList .awarded ul { 
    list-style: none;
} 
.awardsList .awarded li {
    margin:1em;
}
/*** } Awards list end ***/

/*** { Embassy site list start ***/
.associatedSitesList > ul {
    list-style:none;
}
.associatedSitesList > ul > li {
    text-align: center;
    margin:1em 0;
}
/*** } Embassy site list end ***/

/*** { Rank Comparison start ***/
    .rankComparison ul {
    list-style: none;
    
    }
    .rankComparison > header {
        margin-bottom: 1em;
    }
    .rankComparison .contents {
        padding:0;
        
    }
    .rankComparison .contents > ul {
        margin-left:0;
    }
    .rankComparison .rankComparisonGroups > li > header {
        text-align: left;
        margin-bottom: 1em;
        background-color: var(--theme-bg-color);     
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;      

        font-size: 0.9em;
    }     
       
    .rankComparison .rankComparisonGroups > li > header > h2 {
        background-color: var(--main-bg-color);
        display: inline-block;
        padding: 0 10px;
        margin-left:10px;   
    }        
    .rankComparisons li {
        display: grid;
        grid-template-columns: 50% 50%;
        text-align: center;
        margin:1em 0;
    }
    .rankComparison .rank img {
        display: inline-block;
        margin:0 auto;
    }
    
    @media (min-width: 1024px) {
        .rankComparison .rankComparisonGroups {
            background-color: var(--theme-bg-color);
        }
        .rankComparison .rankComparisons {
            border-radius: 10px;
            background-color: var(--main-bg-color);
            padding: 1em 0;
        }

        .rankComparison .rankComparisonGroups > li > header {
            text-align: center;
            border-radius: 0;
            margin-bottom: 0;
        }
        .rankComparison.content .contents ul {
            margin-left:  0;
            padding: 1em;
        }
    }
/*** } Rank Comparison end ***/