html {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
*, *:before, *:after {
    -webkit-box-sizing: inherit;
    -moz-box-sizing: inherit;
    box-sizing: inherit;
}

body {
    font-family: "Times New Roman", Times, serif;
    margin: 8px;
}

/* Root and Frame Styling */
div#Root-Frame{
    margin-top:5px;
    /*border: 1px solid black;*/
    
    margin-left: auto;
    margin-right: auto;
}



@media  not (max-width: 930px) {
    @media not print {
        div#Root-Frame {
            /*max-width: 809px;*/
            background: #fbfbfb;
            box-shadow: 10px 10px 5px #eee;
            border: 1px solid #dfdfdf;
            padding: 10px;
        }
    }
    
}


/* ============================== Masthead */

div#Masthead-Frame{
    padding:6px
}

h1#Masthead{
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    font-weight: normal;
}
img#Masthead{
    width: 100%;
}


/*=================================== #Content-Frame */

div#Content-Frame{
    padding:10px
}

/* ===================================== Comments */
div.comment-form-row{
    display: flex;
    gap: 20px;
    margin-bottom:10px;
}
div.comment-form-cell{
    flex-basis: 1;
    flex-grow: 1;
    
}
div.comment-form-cell input{
    width: 100%;
}
textarea.comment-form-content{
    width:80%;
    height: 8em;
}
input.comment-form-submit{
    font-size: 16pt;
    padding-left: 20px;
    padding-right: 20px;
}

div.comment-admin-container{
    display: flex;
}
div.comment-admin-container + div.comment-admin-container{
    margin-top: 10px;
}
div.moderation-form{
    flex-basis: 150px;
    flex-grow: 0;
    padding: 10px;
    flex-shrink: 0;
}
div.comment-container{
    flex-grow: 1;
    
}


div.comment{
    margin-top: 5px;
    background-color: white;
    padding: 5px;
    border: 1px solid gray;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
div.comment-container{
    margin-bottom: 20px;
}

h1.comment-headline{
    font-size: 16pt;
}

span.comment-author{
    font-style: italic;
}

@media only screen and (max-width: 800px) { /*Comment formatting for mobile*/
    div.comment-admin-container{
        display: flex;
        flex-direction: column;
        border: 1px solid black;
    }

    div.moderation-form {
        flex-basis: unset;
        flex-grow: 0;
        padding: 10px;
        flex-shrink: 1;
      }

    div.comment-form-row{
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

}


@media print { /* Comment formating for Printing */
    .comment-error,
    .comment-email,
    div.moderation-form,
    #comment-form-container{
        display: none;
    }
    
    .comment{
        margin-top: 5px;
        background-color: white;
        padding: 5px;
        border: 1px solid gray;
        
        margin-bottom: 10px;
    }

    .comment > br{
        display: none;
    }

    div.comment-admin-container + div.comment-admin-container {
        margin-top: 0px !important;
    }

}

/*=================================== Footer Frame */

div.footer-frame {
    border-top: 4px solid black;
    border-bottom: 4px solid black;
    padding-bottom: 30px;
    padding-top: 30px;
    margin-bottom: 50px;
}


div.footer-frame + div.footer-frame {
    border-top: none;
    padding-top: 0px;
}

div.footer-frame.print-only{
    display: none;
}

@media print {
    div.footer-frame{
        display: none;
    }

    div.footer-frame.print-only{
        display: block;
        border-bottom: none;
        padding-bottom: 10px;
        padding-top: 10px;
        margin-bottom: 0px;
    }
    
    
}

div.learn-more-bottom-nav > div.link-row + div.link-row,
div.sections-bottom-nav > div.link-row + div.link-row {
   margin-top: 20px;
}

div.sections-bottom-nav > div.link-row {
    justify-content: space-between;
}
/* Default */
div.sections-bottom-nav > div.link-row > a{ flex-basis:20%; }

/* Content-based adjustments. */
div.sections-bottom-nav > div.link-row > a:nth-of-type(1) { flex-basis: 20%; }
div.sections-bottom-nav > div.link-row > a:nth-of-type(2) { flex-basis: 15%; }
div.sections-bottom-nav > div.link-row > a:nth-of-type(3) { flex-basis: 20%; }
div.sections-bottom-nav > div.link-row > a:nth-of-type(4) { flex-basis: 20%; }
div.sections-bottom-nav > div.link-row > a:nth-of-type(5) { flex-basis: 17%; }

div.link-row{
    display: flex; 
    flex-direction: row;
    justify-content: space-between;
}

div.link-row a {
    font-size: 14pt;
}

div.learn-more-bottom-nav > div.link-row{
    gap: 50px;
    justify-content:center
}

h1.footer-title {
    text-align: center;
    margin-top: 0px;
}
@media print {
    h1.footer-title {
        margin-top: 0px;
        margin-bottom: 0px;
        font-size: 16pt;
    }
}

div.section-link-frame {
    margin-bottom: 10px;
    /*border-bottom: 1px solid grey;*/
}

a.big-red-button{
    display: block;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    font-size: 16pt;
    background-color: #aa0000;
    color: #FFFFFF;
    border: 1px solid black;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 10px;
    width:90%;
    
}

/* Link Styling - Non Layout affecting */

div.link-row a,
a.section-link,
div.article a.read-more {
    color: #aa0000;
    font-weight: bold;
    text-decoration: none;
}
div.link-row a:hover,
a.section-link:hover,
div.article a.read-more:hover{
    text-decoration: underline;
}
/*======================== article styling */

div.article h1.headline {
    font-size: 20pt;
}

div.article h1.headline a {
    text-decoration: none;
    color: black;
}

div.article h2.subheader {
    font-weight: normal;
    font-style: italic;
    margin-bottom: 30px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16pt;
}
div.article h1.headline + h2.subheader{
    margin-top: -10px;
}

div.article p.byline {
    font-style: italic;
}

div.article p.source {
    font-size: 10pt;
    border-top: 1px solid #AA0000;
    padding-top: 0.5rem;
}

/* ========================== Mobile only elements =============================== */


#mobile-nav-root {
    display: none;
}

#social-nav-root {
    display: none;
}

@media only screen and (min-width: 801px) {
    .mobile-only {
        display: none !important;
    }
}

/*=========================*/

@media only screen and (max-width: 800px) {
    /* =======================================
     * Layout changes to content
     * ======================================== */
    #Masthead-Frame{
        display: none;
    }

    div.learn-more-bottom-nav > div.link-row + div.link-row,
    div.sections-bottom-nav > div.link-row + div.link-row {
        margin-top: 0px;
    }
    
    div.sections-bottom-nav > div.link-row {
        justify-content: space-between;
    }
    div.learn-more-bottom-nav > div.link-row > a,
    div.sections-bottom-nav > div.link-row > a{
        flex-basis:100%;
        padding-top:5px;
        padding-bottom: 5px;
    }
    
    div.link-row{
        display: flex; 
        flex-direction: column;
        justify-content: space-between;
        
    }

    div.learn-more-bottom-nav > div.link-row{
        gap: unset;
        
    }

    /* ======================================================= Article Content Changes ========= */

    /* Hide manual breaks in headlines while in mobile mode */
    h1.headline br {
        display: none;
    }

}

@media only screen and (max-width: 800px) {
    /* ====================================
     * Mobile Navigation
     * ==================================== */
    
    #mobile-nav-root {
        display: block;
        position: sticky;
        top: 0px;
        color: #FFFFFF;
        font-size: 2rem;
        z-index: 100;
    }

    #mobile-overlay{
        display: none;
        margin-left:-8px;
        
    }
    #overlay-close-button{
        background-color: rgba(0,0,0,0.5);
        display: block;
        position: absolute;
        width: 100vw;
        height: 100vh;
    }

    #mobile-sticky-bar { 
        width: calc(100% + 16px);
        padding:10px;
        margin-left: -8px;
        margin-right: -8px;
       
        margin-top:-8px;
        overflow: auto; /* Clearfix */
        background-color: #0e252d;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap:10px;
    }

    #mobile-nav-pane {
        display: none;
        background-color: #0d3542;
        width: calc(70% + 16px);
        padding:10px;
        margin-right: -8px;
        position: absolute;
        right: calc(-70% - 16px);
        height: 100vh;
        padding-bottom: 160px;
        overflow: auto;
    }
    
    
    #mobile-search-pane {
        display: none;
        background-color: #0d3542;
        width: calc(100% + 16px);
        padding: 10px;
        margin-left: -8px;
        margin-right: -8px;
        position: absolute;
      
    }

    .mobile-nav-list {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 5px;
        padding: 0px;
    }
    
    
    #mobile-nav-root img{
        max-height: 1em;
        display: block;
        max-width: 100%;
    }
    
    #home-button-mobile {
        display: block;
        max-width: 100%;
        
    }

    #nav-menu-icon-mobile {
        display: block;
    }
      
    
    h1.mobile-nav-header{
        
        font-size: 70%;
        color:#a0bdcc;
        margin-bottom: 0px;
        margin-top: 0px;
        display: block;
        width: 100%;
        padding-bottom: 8px;
        font-family: sans-serif;
    }

    div + h1.mobile-nav-header{
        margin-top: 20px;
    }
   
    .mobile-nav-list a{
        color:#ffffff;
        font-size: 0.60em;
        display: block;
        padding: 5px;
        text-decoration: none;
        font-family: sans-serif;
        padding-left: 10px;
    }

    .mobile-nav-list a:hover{
        background:#aa0000;
        color:#FFFFFF;
    }
    /* ======================================== mobile nav social row =====================*/

    #mobile-nav-pane .mobile-nav-social-row{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        border-bottom: 2px solid white;
        padding-bottom: 10px;
    }

    #mobile-nav-pane .mobile-nav-social-row img {
        max-height: 45px;
        border-radius: 4px;
    }
    
    /*================================= Mobile Search Bar =================== */
    
    #mobile-search-bar{
        display: flex;
        flex-direction: row;
        gap: 5px;
    }

    #mobile-search-bar input{
        flex-grow: 1;
        flex-shrink: 1;
        font-size: 0.6em;
    }

    #mobile-search-bar button{
        
        font-size: 0.6em;
        flex-shrink: 0;
        flex-grow: 0;
    }

}