@charset "UTF-8";
/* CSS Document */
/* Updated February 2026 */
/* Colophon: http://typekit.com/colophons/zps0fdz */
/* Inspiration for typefaces, sidenotes, and other features from Tufte CSS: http://edwardtufte.github.io/tufte-css/ */ 
/* Updated with Classless Tufte CSS: https://eamonn.org/classless-tufte-css */

/* ========================================
   BASE STYLES
   ======================================== */

html {
    font-size: 15px; 
    text-rendering: optimizeLegibility;
    scroll-behavior: smooth;
}

body {
    background-color: #fefefe;
    margin: 0;
    padding: 0;
}

/* ========================================
   MAX WIDTH CONSTRAINTS
   ======================================== */

aside,
blockquote,
h1,
h2,
h3,
li,
td,
th {
    max-width: 25em;
}

pre {
    margin: 0;
    max-width: 80em;
}

/* ========================================
   HEADINGS
   ======================================== */

/*Headlines*/
h1 {
    font-family: "brandon-grotesque", "Roboto", "Lato", "Futura", "Gill Sans", sans-serif;
    font-weight: 700;
    font-size: 2.5rem;
    line-height: 1.2;
    color: #222222;
    margin: 0;
    letter-spacing: .01em;
}

/*Deks*/
h2 {
    font-family: "brandon-grotesque", "Roboto", "Lato", "Futura", "Gill Sans", sans-serif;
    font-style: italic;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 1.1;
    color: #144A56;
    margin: 0 0 0 1rem;
    letter-spacing: .01em;
}

/*Subheds*/
h3 {
    font-family: "brandon-grotesque", "Roboto", "Lato", "Futura", "Gill Sans", sans-serif;
    font-weight: 500;
    font-size: 1.7rem;
    line-height: 1rem;
    color: #222222;
    margin: 3rem 0 1.2rem 0;  /* Same bottom margin as paragraphs */
    
}

/* Less space after asides */
aside + h3 {
    margin-top: 3rem;
}

/* ========================================
   BODY TEXT & LISTS
   ======================================== */

p {
    font-family: "garamond-premier-pro", "Garamond", "Palatino", "Georgia", serif;
    color: #222222;
    font-size: 1.5rem;
    line-height: 2rem;
    margin: 0 0 1.2rem 0;
    max-width: 62%;
}

dl,
ol,
ul {
    font-size: 1.4rem;
    line-height: 2rem;
}

li {
    margin: 1em;
}

p + dl,
p + ol,
p + ul {
    list-style-type: none;
}

p + dl *,
p + ol *,
p + ul * {
    font-size: 1.1rem;
    line-height: 1.3;
}

sup {
    font-family: "garamond-premier-pro", "Garamond", "Palatino", "Georgia", serif;
    font-size: 1rem;
}

/* ========================================
   SPECIAL TEXT STYLES
   ======================================== */


.firstwords {
    display: inline;
    font-family: "brandon-grotesque", "Lato", "Futura", "Gill Sans", sans-serif;
    font-size: 1.8rem;
    letter-spacing: 0.09rem;
    font-variant-caps: all-small-caps;
    font-weight: 700;
    color: #222222;
}

.pullquote {
    font-family: "brandon-grotesque", "Roboto", "Lato", "Futura", "Gill Sans", sans-serif;
    font-style: italic;
    font-weight: 500;
    font-size: 2rem;
    line-height: 1.2;
    color: #2D3D58;
    display: inline-block;
    float: none;
    margin: 2rem 2rem 3rem 2rem;    
    padding-left: 1.5rem;
    border-left: 1px dotted #2B7A9B;
    max-width: 57%;
}

.blockquote {
	font-family: "garamond-premier-pro", "Garamond", "Palatino", "Georgia", serif;
	font-weight: 400;
    max-width: 65%;
    color: #2D3D58;
	font-style: normal;
    margin-left: 5%;
	margin-right: 5%;
	padding-right: 10%;
	font-size: 1.3rem;
	line-height: 1.7rem;
	padding: 10px;
    letter-spacing: .02rem;
}

.blocksource {
    font-style: normal;
    font-size: 1.3rem;
    font-weight: 600;
	line-height: 1.7rem;
    color: #2D3D58;
    margin-left: 0;
    margin-bottom: 1.4rem;
    max-width: 90%;
    text-align:right;
    display: block;   
}




/* ========================================
   LAYOUT GRID
   ======================================== */

article {
    display: block;
    max-width: 900px;
    margin: 0 auto;
    padding: 5rem 10%;
}

section {
    display: flow-root;     /* Contains floats without affecting spacing */
}

section > * {
    display: block;
    margin-left: 0;
    margin-right: 0;
}

/* ========================================
   FIGURES & IMAGES
   ======================================== */

figure {
    padding: 0;
    border: 0;
    vertical-align: baseline;
    clear: both;
}

figcaption {
    font-family: "brandon-grotesque", "Roboto", "Lato", "Futura", "Gill Sans", sans-serif;
    font-size: 1.3rem;
    line-height: 1.2;
    color: #2D3D58;
    display: block;
    clear: both;
    margin-left:0.5rem;
    margin-top: 0rem;
    margin-bottom: 1rem;
    vertical-align: baseline;
    position: relative;
}

figure:has(iframe) {
    position: relative;
    padding-bottom: 6.25%;
    padding-top: 25px;
    height: 0;
}

figure iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

img {
    max-width: 100%;
    background-color: #fefefe;
}

img.border {
    border: 1px solid #EEEEEE;
    margin-top: 1rem;
    margin-bottom: .7rem;
}

/* ========================================
   ASIDES (SIDENOTES)
   ======================================== */

aside {
    font-family: "brandon-grotesque", "Roboto", "Lato", "Futura", "Gill Sans", sans-serif;
    font-size: 1.3rem;
    line-height: 1.2;
    color: #2D3D58;
    width: 30%;              
    float: right;            
    margin: 0 0 1.2rem 3%; 
    padding-left: 1rem;
    clear: right; /* Same bottom margin as paragraphs */
    /*border-left: 1px dotted #2B7A9B; */    
}

/* ========================================
   LINKS
   ======================================== */

body a:link,
body a:visited {
    color: #1C617C;
    font-weight: 700;
    text-decoration: none;
    transition: border-color 0.2s ease;
}

body a:hover,
body a:focus {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    color: #2D3D58;
}

/* ========================================
   ICONS & HORIZONTAL LINE
   ======================================== */

.fas {
    font-size: 1.1rem;
    color: #2D3D58;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #333A40;
    margin: 1em 0;
    padding: 0;
}

/* ========================================
   TABLES
   ======================================== */

table {
    font-family: "brandon-grotesque", "Roboto", "Lato", "Futura", "Gill Sans", sans-serif;
    margin-left: auto;
    margin-right: auto;
    overflow-x: auto;
}

td,
th {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

td {
    border: 1px solid #A3ACAC;
}

/* ========================================
   HEADER, NAVBAR, FOOTER
   ======================================== */

    /* Header wrapper */
header {
	margin: 0;
	padding: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    transform: translateY(0);	
    display: block;
}
   
header.hidden {
    opacity: 0;
    transform: translateY(-10px);  /* Slides up slightly */
}

header, header * {
    box-sizing: border-box;
}

/* Navigation styles */
.navbar {
    background: linear-gradient(180deg, #2d3d58 0%, #2d3d58 100%);
	padding: 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: 0 !important;
	border: none;
    
}

.topBox {
	color: #fff !important;
    font-family: "brandon-grotesque","Roboto", "Lato","Futura","Gill Sans",sans-serif;
	text-decoration: none;
	font-weight: 500;
	font-size: 2rem;
	letter-spacing: 0.1em;
	border: none;
	outline: none;
	padding: 0;
	display: inline-block;
}

.topBox:hover {
    color: #fed109 !important;         
    text-decoration: none;
}

.topBox:active, 
.topbox:visited {
	color: #fff !important;;
    text-decoration: none; 
}

/* Tagline under logo */
.tagline {
    font-family: "brandon-grotesque","Roboto", "Lato","Futura","Gill Sans",sans-serif;
	display: block;
	font-size: 1.2rem;
	font-weight: 400;
	color: #fff;
	letter-spacing: 0.1em;
	margin-top: 0.2rem;
	text-transform: uppercase;
}

.navbar-nav {
    font-family: "brandon-grotesque","Roboto", "Lato","Futura","Gill Sans",sans-serif;
    font-size: 1.2rem;
    color: #fff !important;
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
	gap: 2.5rem;
}

.navbar-nav li {
	margin: 0;
}

.navbar-nav a {
    font-family: "brandon-grotesque","Roboto", "Lato","Futura","Gill Sans",sans-serif;
	color: #fff !important;
	text-decoration: none;
	font-size: 1.2rem;
	font-weight: 400 !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	transition: color 0.2s ease;
}

.navbar-nav a:hover {
    color: #fed109 !important;          
    text-decoration: none;
}

footer {
    font-family: "brandon-grotesque", "Roboto", "Lato", "Futura", "Gill Sans", sans-serif;
    font-weight: 400;
    font-size: 1rem;
    letter-spacing: .1rem;
    color: #eee;
    background: linear-gradient(180deg, #1C617C 0%, #333A40 100%);    
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 30px;
    display: block;              
    text-align: right;           
    padding-right: 100px;         
    line-height: 30px;          
    opacity: 0;
    transition: opacity 0.5s ease;
}
/* ========================================
   MOBILE RESPONSIVE
   ======================================== */

@media (max-width: 760px) {
    body {
        width: 90%;
        margin-left: 5%;
        margin-right: 5%;
    }

    article {
        max-width: 100%;
        padding: 3rem 5%;
    }

    p {
        max-width: 100%;
    }

    aside {
        float: none;
        width: 100%;
        margin: 1rem 0;
        border-left: none;
        border-top: 2px solid #2B7A9B;
        padding-left: 0;
        padding-top: 1rem;
    }

    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.6rem;
        margin-left: 0;
    }

    footer {
        padding-right: 20px;
    }
}