:root {
    --primary: #2563eb;
    --dark: #172033;
    --light: #f4f7fb;
    --text: #333;
    --white: #fff;
    --border: #d8dee9;
	--ink:#052651; --ink-soft:#4f5e76; --faint:#415066;
	--wrap: 1200px;
	--bright-yellow:#d8c90e; --faint-yellow:#d8f577; --pale-yellow: #ffffcf;
	--rule:#d8d2c4;
	--band:#d3e2f5;
	--mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: Verdana, Arial, sans-serif;
    line-height: 1.6;
    color: var(--text);
    background: var(--light);
}

/* --- generic --- */

.p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.grid{display:grid;gap:26px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:1.15fr .85fr}
.muted{color:var(--ink-soft);font-size:.95rem}
img {border-width:4px; border-style:solid;border-color:var(--bright-yellow)}
img:hover{border-color:var(--faint-yellow)}
ul.ticks{list-style:none;padding:0;margin:10px 0}
ul.ticks li{padding:7px 0 7px 26px;position:relative;font-size:.96rem}
ul.ticks li:before{content:"";position:absolute;left:2px;top:15px;width:10px;height:5px;
  border-left:2px solid var(--bright-yellow);border-bottom:2px solid var(--bright-yellow);
  transform:rotate(-45deg)}
figure{margin-top:3px}
figcaption{text-align: center; margin-top:0}
.band{background-color:var(--band);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.pad{padding:52px 0}
a{color:var(--dark);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--bright-yellow)}

.container {
    width: min(1100px, 90%);
    margin: 0 auto;
}

.container p{margin: 0 0 1em}
h2{margin-top: 1rem;margin-bottom: 1rem;text-align: left}

.button {
	transition-duration: 0.3s;
	display: inline-block;
    border: 0;
	margin: 0;
    border-radius: 5px;
    padding: 0.75rem 1.25rem;
	background: var(--primary);
	color: var(--white);
	font-size: 1.25rem;
}

.button:hover {
    background: var(--pale-yellow);
	color:var(--dark);
}

/* --- navbar --- */
.navbar {
    background: var(--pale-yellow);
    color: var(--white);
}

.nav-container {
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
	border-bottom: var(-rule) solid 2px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 1.0rem;
    color: black;
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: bold;
    text-decoration: none;
}

.logo_image {
    width: 60px;
    height: 60px;
    display: block;
	border: none;
}

.nav-links {
    display: flex;
    gap: 1.5rem;
    list-style: none;
}

.nav-links a {
    color: black;
    text-decoration: none;
    padding: 0.5rem 0;
}

.nav-links a:hover,
.nav-links a.active {
    color: blue;
}

.menu-toggle {
    display: none;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.menu-toggle span {
    display: block;
    width: 25px;
    height: 3px;
    margin: 5px 0;
    background: black;
    border-radius: 2px;
}

/* --- hero ---*/

.hero {
    padding: 6rem 0;
    text-align: left;
	background:linear-gradient(180deg,#2f5274 0%,#183b5d 62%,#1a3249 100%);
	overflow:hidden;
    color: var(--white);
}

.hero:after {
	content:"";
	position:absolute;
	inset:0;
	background:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 2px,transparent 2px 26px);
	pointer-events:none;
}

.hero .g2 {grid-template-columns:1.3fr .7fr}

.hero h1 {
    margin-bottom: 1rem;
    font-size: clamp(2rem, 4vw, 3.5rem);
}

.hero p {
    margin-bottom: 1rem;
    font-size: 1.25rem;
}

.hero a{color:var(--white);text-decoration:underline;text-underline-offset:2px}
.hero a:hover{color:var(--bright-yellow)}

.hero .button {
	transition-duration: 0.3s;
	background: var(--white);
	color: var(--ink-soft);
}

.hero .button:hover {
    background: var(--pale-yellow);
	color:var(--dark);
}

/* --- home page --- */
.covering{object-fit:cover}

.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
 }

/* --- what's on --- */
.log{border-top:1px solid var(--rule)}
.log-row{display:grid;grid-template-columns:150px 1fr;gap:22px;
  padding:16px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.log-when{font-family:var(--mono);font-size:.8rem;color:var(--ink-soft);line-height:1.5;letter-spacing:.01em}
.log-when b{display:block;color:var(--ink);font-weight:600;font-size:.86rem}
.log-what{min-width:0}
.log-what h3{font-size:1.06rem;margin-bottom:.2em;font-family:var(--sans);font-weight:600}
.log-what p{margin:0;font-size:.92rem;color:var(--ink-soft)}

.cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.card {
    padding: 1.5rem;
    border-radius: 8px;
    background: var(--white);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
	margin-bottom: 20px;
	border:1px solid var(--rule);
}

.card h3 {
    margin-bottom: 0.75rem;
    color: var(--primary);
}

.card p{font-size:.95rem;color:var(--ink-soft)}

.page-header {
    padding: 4rem 0;
    text-align: center;
    background: #dbeafe;
}

.page-header h1 {
    margin-bottom: 0.5rem;
    color: var(--dark);
}

/* --- input form --- */

.input-form {
	margin: 24px 150px;
}

input[type=text], select, textarea{
    width: 100%;
    margin-bottom: 1rem;
    padding: 0.75rem;
    border: 1px solid var(--border);
    border-radius: 5px;
    font: inherit;
}

.success-message {
    margin-bottom: 1.5rem;
    padding: 1rem;
    border-radius: 5px;
    color: #166534;
    background: #dcfce7;
}

label {
  padding: 12px 12px 12px 0;
  display: inline-block;
}

.form-column25 {width: 25%; float: left; margin-top: 6px;}
.form-column30 {width: 30%; float: left; margin-top: 6px;}
.form-column75 {width: 75%; float: left; margin-top: 6px;}

/* Clear floats after the columns */
.form-row:after {
  content: "";
  display: table;
  clear: both;
}

/* --- newsletters --- */
.nrow{display:grid;grid-template-columns:0.7fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;gap:10px; padding:6px 6px 6px 0;border-bottom:1px solid var(--rule);align-items:baseline;background: var(--stone);place-items:center;}
.nyear{font-family:var(--mono);font-size:1.2rem;color:var(--ink-soft);line-height:1.5;letter-spacing:.01em;}
.neditiontxt{font-family:var(--mono);font-size:1.2rem;color:var(--ink-soft);line-height:1.5;letter-spacing:.01em;text-align:center;width:100%;height:100%;}
.neditionimg{object-fit:cover;}
.nsearchrange{float:left;padding: 20px 20px 20px 0;width:150px;border-radius:4px;}
.nsearchtext{clear:left;float:left;padding:10px 0 20px 0;width:300px;border-radius:4px;}
.nfoundrow{display:grid;grid-template-columns:1fr 1fr 2fr 4fr 3fr;gap:10px;padding:6px 6px 6px 0;border-bottom:1px solid var(--rule);align-items:baseline;place-items:center;}
.nfounddetailsb{font-size:1rem;color:var(--ink);font-weight:700;line-height:1.5;letter-spacing:.01em;}
.nfounddetails{font-size:1rem;color:var(--ink);line-height:1.5;letter-spacing:.01em;}

/* --- footer --- */
.footer {
    padding: 1.5rem 0;
    text-align: left;
    color: var(--white);
    background: var(--dark);
}

footer a{color: var(--white);text-decoration:underline;text-underline-offset:2px}
footer a:hover {color: var(--light);}
.updated{border-top:1px solid #535D6B;margin-top:34px;padding-top:20px;
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  font-family:var(--mono);font-size:.72rem;color:#9Da6b2;letter-spacing:.03em}

/* --- legacy image display --- */

.flexwrap {
	width: 904px;
	margin: 24px auto;
	display: flex;
	justify-content: space-between;
}


/* --- Mobile navigation --- */
@media (max-width: 900px) {
	.g2{grid-template-columns:1fr}
	.hero .g2{grid-template-columns:1fr}
	}

@media (max-width: 700px) {
    .menu-toggle {
        display: block;
    }

    .nav-links {
        display: none;
        position: absolute;
        top: 70px;
        left: 0;
        right: 0;
        z-index: 20;
        flex-direction: column;
        gap: 0;
        padding: 1rem 5%;
		background: var(--light);
    }

    .nav-links.open {
        display: flex;
    }

    .nav-links li {
        border-bottom: 1px solid rgba(100, 100, 100, 0.5);
    }

    .nav-links a {
        display: block;
        padding: 0.8rem 0;
    }
	
	.g3{grid-template-columns:1fr}

    .cards{grid-template-columns: 1fr;}
 
	.form-column25{width: 100%; margin-top: 0;}
	.form-column30{width: 100%; margin-top: 0;}
	.form-column75{width: 100%; margin-top: 0;}

	.flexwrap{flex-wrap: wrap;}

	.nfoundrow{grid-template-columns:1fr;}

}