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{
    
    /*border: 1px solid black;*/
    margin-top: 8px;
    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 */


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 not (max-width: 800px) { /**/


    .mobile-only {
        display: none !important;
    }
}

@media only screen and (max-width: 800px) { /**/


    .desktop-only {
        display: none !important;
    }
}

/* ******************************** */

@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;
    padding-top: 40px;
    border-bottom: 4px solid black;
    padding-bottom: 40px;
    
    margin-bottom: 40px;
}

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%; 
    display: block;
    padding-left:25px;
    padding-right:25px;
    
}

div.sections-bottom-nav > div.link-row > a.two-column{
flex-basis: 40%; 
}


div.sections-bottom-nav > div.link-row > a.vertical-center{
    margin-top: 10px;
}


/* 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;
    max-width: 880px;
    margin: auto;
}

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%;
    
}

a.big-red-button:hover {
    background-color:#880000;
    color: #EEEEEE;
    transition-property: all; 
}

/* 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;
}

/* ========= hover-toggle elements */

.hover-toggle-parent > .hover-toggle-primary{
    display:block;
}
.hover-toggle-parent > .hover-toggle-secondary{
    display:none;
}

.hover-toggle-parent:hover > .hover-toggle-primary{
    display:none;
}
.hover-toggle-parent:hover > .hover-toggle-secondary{
    display:block;
}

/* Social media */

.social-icon img{
    border-radius: 4px;
}



.masthead-container .desktop-nav-social-container {
    /*margin-top: -5px;
    margin-bottom: 10px;*/
    position: relative;
}

.masthead-container .desktop-nav-social-frame {
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: flex-end;
    position: absolute;
    right: -60px;
    top: -21px;
}

.masthead-container .social-link {
    display: block;
    box-shadow: 5px 5px 5px #eee;
}

.masthead-container .social-icon img{
    max-width: 32px;
    max-height: 32px;
    border: 1px solid rgb(153, 153, 153);
}
.masthead-container .social-icon img:hover {
    border: 1px solid black;
}

@media only screen and (max-width: 999px) {
    .masthead-container .desktop-nav-social-frame {
        display: flex;
        flex-direction: row;
        gap: 10px;
        justify-content: flex-end;
        position: unset;
        
    }
    .masthead-container .desktop-nav-social-container {
        margin-top: -14px;
        margin-bottom: 10px;
        
    }
}
/* ======== Desktop Nav ========*/

.desktop-nav-button-frame {
    display: flex;
    flex-direction: row;
    gap: 10px;
    justify-content: flex-end;
    margin-top: -40px;
    margin-bottom: 20px;
}

.desktop-nav-open-button {
    display: block;
    padding: 4px;
    border: 1px solid black;
    font-family: sans-serif;
    background-color: #e4e4e4;
    color: #AA0000;
    /*background-color: #e4e4e4;*/
    /*color: #AA0000;*/
    text-decoration: none;
}
.desktop-nav-open-button:hover{
    background-color: #AA0000;
    color: #FFFFFF;
    /*background-color: #AA0000;*/
    /*color: #FFFFFF;*/
}


#desktop-nav-pane {
    display: none;
    background-color: #0d3542;
    width: 300px;
    padding:10px;
    overflow: auto;
    position: absolute;
    right: calc(-70% - 16px);
    height: calc(100vh + 8px);
    padding-bottom: 160px;
    top: -8px;
}
#desktop-nav-root {
    margin: -8px;
    
    position: sticky;
    top: 0px;
    color: #FFFFFF;
    font-size: 2rem;
    z-index: 100;
    margin-bottom: 16px;
}


@media only screen and (max-width: 800px) {
    #desktop-nav-root {
        display: none;
    }
}

#desktop-blocking-overlay{
    display: none;
    position: relative;
    top: -8px;
    
}

.overlay-close-button{

    background-color: rgba(0,0,0,0.5);
    display: block;
    position: absolute;
    
    width: calc(100vw - 17px);
    height: calc(100vh + 8px);
}

/* ========================== 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.sections-bottom-nav > div.link-row > a.vertical-center{
        margin-top: unset;
    }
    
    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;
    }

}

.mobile-nav-list {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 5px;
    padding: 0px;
}
#overlay-close-button{
    background-color: rgba(0,0,0,0.5);
    display: block;
    position: absolute;
    width: calc(100vw - 17px);
    height: 100vh;
}
#desktop-nav-root img,
#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-social-row{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    border-bottom: 2px solid white;
    padding-bottom: 10px;
    gap: 5px;
}

.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;
}

.nav-root,
#mobile-nav-root {
    
    position: sticky;
    top: 0px;
    color: #FFFFFF;
    font-size: 2rem;
    z-index: 100;
}

.mobile-overlay,
#mobile-overlay{
    margin-left:-8px;
    
}

#mobile-nav-pane {
    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;
}

@media only screen and (max-width: 800px) {
    /* ====================================
     * Mobile Navigation
     * ==================================== */
    
    #mobile-nav-root {
        display: block;
    }

    #mobile-overlay{
        display: none;
    }
    
    #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;
    }
    
    
    #mobile-search-pane {
        display: none;
        background-color: #0d3542;
        width: calc(100% + 16px);
        padding: 10px;
        margin-left: -8px;
        margin-right: -8px;
        position: absolute;
      
    }

    
    
    
  

}
