/*
	Name: Smashing HTML5
	Date: July 2009
	Description: Sample layout for HTML5 and CSS3 goodness.
	Version: 1.0
	License: MIT <https://opensource.org/licenses/MIT>
	Licensed by: Smashing Media GmbH <https://www.smashingmagazine.com/>
	Original author: Enrique Ramírez <http://enrique-ramirez.com/>
*/

/* Import Fonts */
@import url("https://fonts.googleapis.com/css2?family=Libertinus+Serif:wght@400;600;700&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
@import url("https://fonts.googleapis.com/css?family=Audiowide&effect=anaglyph&display=swap"); /* new import Nov, 2025 */
/***** Global *****/
/* Body */
body {
    background: #F5F4EF;
    color: black;
    font-size: 125%; /* base font is 16px */
    font-family: "Libertinus Serif", Georgia, Cambria, "Times New Roman", Times, serif;
    line-height: 1.429;
    margin: 0;
    padding: 0;
/*
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: center;
*/
    min-height: 100vh;
    overflow-wrap: break-word; /* stops long words e.g. URLS from getting cut off */
}

/* Headings */
h1 {font-size: 1.5em }
h2 {font-size: 1.3em}	/* 22px */
h3 {font-size: 1.1em}	/* 20px */
h4 {font-size: 1.1em}	/* 18px */
h5 {font-size: 1.1em}	/* 16px */
h6 {font-size: 1em}		/* 14px */

h1, h2, h3, h4, h5, h6 {
    font-weight: 500;
    line-height: 1.1;
    margin-bottom: .8em;
    /*font-family: 'Roboto', arial, serif; */
    font-family: 'Audiowide', arial, serif; /* 'Audiowide' was 'Roberto' */
}


/* idea for specific font for titles
h1:has(: Audiowide', arial, serif;) {} */

h3, h4, h5, h6 { margin-top: .8em; }

hr { border: 2px solid #EEEEEE; }

/* Anchors */
a {outline: 0;}
a img {border: 0px; text-decoration: none;}
a:link, a:visited {
    color: #643D4B;
    text-decoration: none;
    padding: 0 1px;
}
a:hover, a:active {
    color: #f49451;
    text-decoration: none;
}

h1 a:hover {
    background-color: inherit
}

/* Paragraphs */
div.line-block,
p { margin-top: 1em;
    margin-bottom: 1em;}

strong, b {font-weight: bold;}
em, i {font-style: italic;}

/* Lists */
ul {
    list-style: outside disc;
    margin: 0em 0em 0em 1.5em;
}

#content ul {
    margin: 0em;
}

ol {
    list-style: outside decimal;
    margin: 0em 0 0 1.5em;
}

li { margin-top: 0.5em;
    margin-bottom: 1em; }

.post-info, .bio, .citation {
max-width: 75%;
margin: 1em;
margin-bottom: 2em;
}

@media screen and (max-width: 896px) {
    .post-info, .bio, .citation {max-width: 100%}
}

.post-info h3, #posts-list h3, .citation h3 {
    margin-bottom: 0.25em;
}

.citation p {
    margin: 0em;
}

.post-info p {
    margin: 1px auto;
}

.bio p {
    color: grey;
}

a.readmore {
    float: right;
    font-weight: bold;
    padding: 1rem;
}

dl {margin: 0 0 1.5em 0;}
dt {font-weight: bold;}
dd {margin-left: 1.5em;}

pre{background-color:  rgb(238, 238, 238); padding: 10px; margin: 10px; overflow: auto;}

/* Quotes */
blockquote {
    margin: 20px;
    font-style: italic;
}
/*cite {}
dunno know what these did (nov 2025)
q {}*/

div.note {
    float: right;
    margin: 5px;
    font-size: 85%;
    max-width: 300px;
}

/* Tables */
table {
    margin: unset;
    /* Previous margin: .5em auto 1.5em auto*/
    max-width: 600px;
}

table, th, td {
    border: 1px groove #487ce4;
    padding: unset;
}

th {
    padding: 1em;
}

	/* Thead */
thead th {padding: 1em; text-align: left;}
/*thead td {}

tbody .alt td {}
tbody .alt th {}
dunno know what these did (nov 2025)
	/* Tfoot */
/*tfoot th {}
tfoot td {} */

/* HTML5 tags */
header, section, footer,
aside, nav, article, figure {
    display: block;
}

/***** Layout *****/
.body {clear: both; margin: 0 auto}
img { max-width: 100%; }
img.right, figure.right, div.figure.align-right {
    float: right;
    margin: 0 0 2em 2em;
}
img.left, figure.left, div.figure.align-left {
    float: left;
    margin: 0 2em 2em 0;
}

/*
	Header
*****************/
#banner {
    margin: 0;
    padding: 0.8em 8% 0; 
    background-color: #487ce4; /* this doesnt do much anymore */
    background-image: url("../../images/ctrl-new-banner-ideal.png");
    background-size: cover;
    background-position: center top; 
    height: 300px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    /*padding: 0 1.5em; */
    position: relative; /*apparently being fixed couldve fixed the nav bar (back to the original 
                        strip below the banner) but it messed with the text below*/
} 

	/* Banner */
#banner h1 {
    font-size: 3.571em;
    line-height: 1.0;
    margin-bottom: .3em;
}

#banner h1 a:link, #banner h1 a:visited {
    color: #0055FF;
    display: block;
    font-weight: bold;
    text-decoration: none;
}
#banner h1 a:hover, #banner h1 a:active {
    background: none;
    color: #578FFF;
    text-shadow: none;
}

#banner h1 strong {font-size: 0.36em; font-weight: normal;}

/* Main Nav */

#banner nav {
    background: #0055FF;
    font-family: 'Roboto', arial, serif;
    font-size: 1em;
    line-height: 30px;
    margin-top: 0.5rem;
    padding: 0;
    text-align: left;
    border-radius: 5px;
    position: static;

    /*
    bottom: 4%;
    left: 8%; *//* 8% works well for lining up w/ the page below */
}

@media screen and (max-width: 896px) {
    #banner nav {
        font-size: 0.85em;
        /*left: auto;  /* uncomment this for nav bar to be one line but cropped weird*/
    }
}

#banner nav::after {
    content: "";
    display: block;
    clear: both;
}

#banner nav ul {
    list-style: none;
    max-width: 800px; 
    margin: 0;              /* Remove default margin */
    padding: 2px 2px;             /* Remove default padding */
    display: flex;          /* Align items horizontally */
    gap: 0px;              /* Space between items */
}

@media screen and (max-width: 896px) {
    #banner nav ul {
        padding: 0px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-left: 0%;
    }
}

#banner nav li {
    float: left;
    display: inline;
    margin: 0;
}

#banner nav a {
    color: #fff;
    display: inline-block;
    height: 30px;
    padding: 5px 1.5em;
    text-decoration: none;
}

@media screen and (max-width: 896px) {
    #banner nav a {
        padding: none;
    }
}

#banner nav a:hover,
#banner nav a:active,
#banner nav .active a:link,
#banner nav .active a:visited {
    background: #578FFF;
    color: #fff;
    text-shadow: none !important;
}

/* Dropdown Styles */

#banner nav li.dropdown {
    position: relative;
}

#banner nav li.dropdown .dropdown-toggle {
    cursor: pointer;
    padding: 5px 1.5em;
    color: #fff;
    display: inline-block;
}

#banner nav li.dropdown .dropdown-toggle:hover {
    background: #578FFF;
}

#banner nav li.dropdown ul.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #0055FF;
    list-style: none;
    margin: 0;
    padding: 0;
    min-width: 150px;
    z-index: 9999;
    border-radius: 0 0 5px 5px;
    border-style: solid;
    border-color: #487ce4;
}

@media screen and (max-width: 896px) {
    #banner nav a {
        padding: none;
    }
    #banner nav li.dropdown .dropdown-toggle, #banner nav a {
        padding: 0.75em 0.75em;
    }
    #banner nav {
        left:auto;
        margin-bottom: 1em;
    }
}

#banner nav li.dropdown ul.dropdown-menu li {
    float: none;
    display: block;
}

#banner nav li.dropdown ul.dropdown-menu a {
    display: block;
    padding: 8px 1.5em;
    color: #fff;
    text-align: left;
    text-decoration: none;
    font-size: .75em;
    white-space: normal;   /* allow wrapping */
    line-height: 1.4em;    /* more comfortable spacing for multiple lines */
    height: auto;          /* remove fixed height from top-level nav items */
}

#banner nav li.dropdown ul.dropdown-menu a:hover {
    background: #578FFF;
}

#banner nav li.dropdown.open ul.dropdown-menu {
    display: block;
}



/*
	Issues
*****************/

.issue-covers {
    display: flex;
    flex-direction: row;
    margin-bottom: 2em;
}

@media screen and (max-width: 896px) {
    .issue-covers {display: block}
}

.issue-covers figure {
    width: 25%;
    margin: 1em;
    align-self: flex-end;
}

@media screen and (max-width: 896px) {
    .issue-covers figure {width: 80%}
}

.issue-covers figure img {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 5px;
}

.issue-covers img:hover {
        box-shadow: 0 0 2px 1px rgba(0, 140, 186, 0.5);
}

.article {
    margin: 2em;
}

.art-title {
    font-size: 2em;
}

.art-author {
    font-size: 1em;
    font-style: italic;
}

.index-cover figure img {
    width: 100%;
    max-width: 50%;
    height: auto;
}

.poster-cover figure img, .poster-cover figcaption {
    width:100%;
    max-width: 70%;
    height: auto;
    display: block;
    margin: auto;
}

@media screen and (max-width: 896px) {
    .index-cover figure img {max-width: 100%;}
    .poster-cover figure img, .poster-cover figcaption {max-width: 100%;}
}


/*
	Article Images, Figures, Tables, iFrames
*****************/

.square-frame {
    width: 50%;
    aspect-ratio: 4 / 3;
    height: auto;
    display: block;
    border: 0;
}

.responsive-frame {
    width: 50%;
}

.youtube-frame {
    aspect-ratio: 16 / 9;
    width: 75%;
}

@media screen and (max-width: 896px) {
    .square-frame, .responsive-frame, .youtube-frame {width: 100%;}
}

.art-image img, #featured .news-image img {
    max-width: 600px;
    width: 100%;
    height: auto;
}

.art-image figcaption {
    color: grey;
    font-style: italic;
}

.art-table {
    max-width: 70%;
    overflow: auto;
    margin: auto;
}

.art-pdf embed {
    width: 80%;
    height: 800px;
    padding: 10%;
}

.art-table table {
    width: 100%;
    table-layout: fixed;
    padding: 0em;
    font-size: 0.75em;
    border-collapse: collapse;
}

.art-table table th, td {
    padding: 0.5em;
}

@media screen and (max-width: 896px) {
    .art-table {max-width: 90%;}
    .art-pdf embed {width: 90%; height: 500px; padding: 5%;}
}

/*
	Featured
*****************/
#featured {
    background: #fff;
    margin-bottom: 2em;
    margin-top: 2em;
    overflow: hidden;
    padding: 2em 2em;
    max-width: 75%;
    min-width: 75%;
    border-radius: 10px;
}

@media screen and (max-width: 896px) {
    #featured  {
        max-width: 100%;
        margin: 0em 0em;
        padding: 1em 1em;
    }
}


#featured figure {
    margin: 0em;
}


#featured h2 {color: #C74451; font-size: 1.714em; margin-bottom: 0.333em;}

#featured h3 a:link, #featured h3 a:visited {color: #000305; text-decoration: none;}
#featured h3 a:hover, #featured h3 a:active {color: #fff;}

/*
	Body
*****************/
#content {
    background: #fff;
    margin-bottom: 2em;
    margin-top: 2em;
    overflow: hidden;
    padding: 4rem 4rem;
    max-width: 75%;
    border-radius: 10px;
}

@media screen and (max-width: 896px) {
    #banner,
    #featured,
    #content,
    #extras,
    #about,
    .contentinfo {
        margin: 0em;
        max-width: 100%;
        width: 100%;
        padding: 0em;
    }
    p, h1, h2, h3, h4, h5 {
        padding: 0em 1em;
    }
}

@media screen and (max-width: 896px) {

    html, body {
        width: 100%;
        margin: 0;
        padding: 0;
        overflow-x: hidden;
    }

    .body {
        margin: 0;
        width: 100%;
        max-width: 100%;
    }

    .footer {
        width: 100%;
        margin: 0;
        padding: 0;
    }
}


/*
	Extras
*****************/
#extras {
    max-width: 75%;
    margin: 3em;
    overflow: hidden;
}

#extras ul {list-style: none; margin: 0;}
#extras li {border-bottom: 1px solid #fff;}
#extras h2 {
    color: white;
    font-size: 1.429em;
    margin-bottom: .25em;
    padding: 0 3px;
}

#extras a:link, #extras a:visited {
    color: white;
    display: block;
    border-bottom: 1px solid #F4E3E3;
    text-decoration: none;
    padding: .3em .25em;
}

#extras a:hover, #extras a:active {color: #fff;}

	/* Blogroll */
#extras .blogroll {
    float: left;
    max-width: 615px;
}

#extras .blogroll li {float: left; margin: 0 20px 0 0; max-width: 185px;}

	/* Social */
#extras .social {
    float: right;
    max-width: 175px;
}

/*
	About
*****************/
#about {
    background: #fff;
    font-style: normal;
    margin-bottom: 2em;
    overflow: hidden;
    padding: 20px;
    text-align: left;
    max-width: 760px;

    border-radius: 10px;
}

#about .primary {float: left; max-width: 165px;}
#about .primary strong {color: #C64350; display: block; font-size: 1.286em;}
#about .photo {float: left; margin: 5px 20px;}

#about .url:link, #about .url:visited {text-decoration: none;}

#about .bio {float: right; max-width: 500px;}

/*
	Footer
*****************/

.footer {
    background-color: #487ce4;
    text-align: center;
    color: white;
    margin-top: auto;
    width: 100%;
}

.contentinfo {
    padding-bottom: 2em;
    display: flex;
    max-width: 75%;
    margin: auto;
}

@media screen and (max-width: 896px) {
    .contentinfo  {
        flex-direction: column;
        padding: 0.5em 0.5em;
    }
}

.contentinfo a {
    color: white;
    text-decoration: none;
}

.contentinfo a:hover {
    background-color: none;
}

.site-info {
    flex: 1;
    margin: 2em;
    font-family: 'Roboto', arial, serif;
    letter-spacing: 0.2em;
    font-size: 75%;
}

@media screen and (max-width: 896px) {
    .site-info  {
        margin: 1em;
    }
}


/***** Sections *****/
/* Blog */
.hentry {
    display: block;
    clear: both;
    border-top: 1px solid #eee;
    padding: 1.5em 0;
}
li:first-child .hentry, #content > .hentry {border: 0; margin: 0;}
#content > .hentry {padding: 1em 0;}
.hentry img{display : none ;}
.entry-title {font-size: 2em; margin: 1em 1em; font-weight: bold; text-align:center;}
@media screen and (max-width: 896px) {
    .entry-title  {margin: 1em 0.5em; font-size: 1.5em;}}
.entry-title a:link, .entry-title a:visited {text-decoration: none; color: #333;}
.entry-title a:visited {background-color: #fff;}

.hentry .post-info * {font-style: normal;}

	/* Content */
.hentry footer {margin-bottom: 2em;}
.hentry footer address {display: inline;}
#posts-list footer address {display: block;}

	/* Blog Index */
#posts-list {list-style: none; margin: 0;}
#posts-list .hentry {padding-left: 10px; position: relative;}
@media screen and (max-width: 896px) {
    #posts-list .hentry  {padding: 1em;}}

#posts-list h1 {
    font-size: 1.5em;
    font-weight: 400;
}

@media screen and (max-width: 896px) {
    #posts-list h1 {font-size: 1.25em; margin-bottom: 0em;}
}

#posts-list .post-info {
    max-width: 75%;
    margin: 0em;
}
@media screen and (max-width: 896px) {
    #posts-list .post-info {max-width: 100%;}
}

#posts-list footer {
    left: 10px;
    position: relative;
    float: left;
    top: 0.5em;
    max-width: 190px;
}

.pub-date {
    margin: 1em auto;
}

.published, .modified {
    color: grey;
    text-decoration: none;
}

	/* About the Author */
#about-author {
    background: #f9f9f9;
    clear: both;
    font-style: normal;
    margin: 2em 0;
    padding: 10px 20px 15px 20px;
    border-radius: 5px;
}

#about-author strong {
    color: #C64350;
    clear: both;
    display: block;
    font-size: 1.429em;
}

#about-author .photo {border: 1px solid #ddd; float: left; margin: 5px 1em 0 0;}


/* @@@@@ Container for the two images @@@@@ */
#banner .site-logo {
    display: flex;
    align-items: center;
    gap: 0.5em; /* space between images */
}

#banner .site-logo a {
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

@media screen and (max-width: 896px) {
    #banner .site-logo {
        display: flex;
        justify-content: center; /* center horizontally */
        align-items: center;
        width: 100%; /* make its container full-width */
        gap: 0; /* remove the large desktop gap */
        margin: 0 auto; /* ensure centering */
    }
}


/* @@@@ Styling for individual images @@@@*/
/* Wrapper */
.ani-logo-wrapper {
    position: relative;
    width: 200px;
    height: 120px;
    display: inline-block; 
}

/* Static image: defines container size */
.ani-logo.still {
    height: 100%;
    width: auto;
    display: block;
    position: relative;
}

/* GIF: sits on top */
.ani-logo.gif {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: auto;
}

/* Swap on hover */
.ani-logo-wrapper:hover .gif {
    opacity: 1;
}

.ani-logo-wrapper:hover .still {
    opacity: 0;
}



.text-logo { 
    max-height: 120px !important; 
    height: auto;
    margin-left: 20px;
    max-width: 500px; /* prevents them from getting too big */
}

/* Mobile: */
@media screen and (max-width: 896px) {
    #banner { /* fix formatting, hopefully*/
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        height: fit-content;
    }
    .ani-logo-wrapper { /* hide entire animated icon */
        display: none !important;
    }
    .text-logo { 
        max-width: 300px;
        width: auto;
        margin: 0 auto;
        display: block;
    }
} /* end of style for individual images*/






















/*
                                                 
 mmmmm  m    m   mmm            m    mmmm  mmmmm 
   #    ##  ## m"   "           #   "   "# #     
   #    # ## # #   mm                   m" """"mm
   #    # "" # #    #                 m"        #
 mm#mm  #    #  "mmm"               m#mmmm "mmm#"
                                                 
You don't see this Chelsea... */
