/* Base Styling */
body {
    font-family: Garamond, Arial, 'Segoe UI', Roboto, 'Helvetica Neue', -apple-system, BlinkMacSystemFont, serif;
    margin: 0;
    background-color: #ffffff;
    color: #222;
}

/* Container */
.container {
    max-width: 1200px;
    margin: 2rem auto;
    padding: 1rem;
}

/* Headings and Description */
h1.title {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
}
.description-box {
    text-align: justify;
    font-size: 1rem;
    max-width: 700px;
    margin: 0 auto auto;
    color: #444;
}
.contact {
	text-align: center;
	font-size: 0.75rem;
	color: #999;
	margin: 0 auto 2rem auto;
}

/* Tabs */
.tab-row {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

/*Control block and label*/
.control-block {
    width: 60%;
    margin: 0 auto 0.5rem auto;
	margin-bottom: 0.75rem;
	display: block;
}

.control-label {
    display: block;
    font-weight: 300;
    margin: 0.5rem auto 0.25rem auto;
    text-align: center;
}

/* Titles */
.title-section {
    display: flex;
    flex-direction: column; /* vertical stack */
    align-items: center;    /* center horizontally */
    margin-bottom: 0.5em;
}
.title-box {
    text-align: center;
	font-weight: 300;
	font-size: 1.5rem;
	margin-top: 0.5rem;
}
.subtitle-box {
    text-align: center;
	font-weight: 150;
	font-size: 1.25rem;
	margin-top: 0.25rem;
	margin-bottom: 0.5em;
}
.spending-range {
	font-size: 1rem;
	text-align: center;
}

/* Legend Static */
.position-legend {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5em;
    margin-bottom: 0.25em;
}

.legend-support, .legend-oppose {
    display: flex;
    align-items: center;
    font-size: 0.95rem;
    font-weight: 100;
}

.legend-support::before, .legend-oppose::before {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    border-radius: 50%;
    margin-right: 0.5em;
    vertical-align: middle;
}
.legend-support::before {
    background-color: #636EFA;  /* blue */
}
.legend-oppose::before {
    background-color: #ED553B;  /* red */
}

/*Graph Styling */
.graph-block {
    margin-top: 0.5em;
    padding: 0.5rem;
}

/* footer */
.footer {
    text-align: left;
    padding: 12px 0;
    font-size: 0.75rem;
	color: #999;
	margin-top: 2rem;
}