*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	-webkit-text-size-adjust: 100%;
	--color-scheme-primary-color: #CC0100;
	--color-scheme-secondary-color: #000000;
	--color-scheme-tertiary-color: #FFC72D;
	--color-scheme-quaternary-color: #12BDBC;
	--color-scheme-quinary-color: #D46916;
	color: #000;
	font-family: "Arial", sans-serif;
	margin: 0;
}

button {
	background-color: #3478f6;
	color: white;
	font-size: 16px;
	padding: 14px;
	border: none;
	border-radius: 8px;
	cursor: pointer;
}

button:hover {
	background-color: #1d60d3;
}

button {
	background-color: lightgrey;
	color: #CC0100;
	font-size: 16px;
	font-weight: 600;
	padding: 14px;
	border: none;
	border-radius: 8px;
	cursor: pointer;
}

button:hover {
	background-color: #CC0100;
	color: white;
}

h1 {
	font-size: 32px;
}

/* Brand Logo
.brand .brand-logo {
	display: flex;
	align-items: center;
}
*/
/*
.brand .brand-logo img {
	max-height: 60px;
	width: auto;
}

.masthead {
	font-family: "Whitney SSm A", "Whitney SSm B", Benton, Helvetica, sans-serif;
	background-color: white;
	color: black;
	height: 100px;
	margin: auto;
}

.brand {
	padding: 40px 0;
	height: 20px;
	width: 50%;
}
*/
.brand {
	overflow: hidden;
	height: 120px;
	padding: 0 0 0 20px;
	font-family: "Whitney SSm A", "Whitney SSm B", "Benton", Helvetica, sans-serif;
	font-size: 18px;
	line-height: 1.3;
}

.brand-logo {
	display: block;
	float: left;
	font-weight: 400;
	color: #000;
	text-decoration: none;
	padding: 10px 30px 9px 56px;
	min-height: 35px;
	background: url(https://www.bu.edu/cdn/images/logos/subbrand49x35.png) no-repeat 0 49%;
	position: relative;
	top: 50%;
	transform: translateY(-50%);

}

.brand-part-sitename {
	display: block;
}
/*
.brand-logo {
	padding: 30px 0 30px 20px;
	font-size: 1.2rem;
}
*/
.content-header {
	height: 120px;
	padding: 50px 75px 50px;
	background-color: #CC0100;
	width: 100%;
}

.confirmation-header {
	background-color: #Ffffff;
}

.content-header h2,
.content-header h1 {
	padding: 0;
	margin: 0;
	color: white;
}

.content-container,
.bu-payment-form-container {
	/*background-color: #eeeeee;*/
}

.card {
	background-color: #ffffff;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	max-width: 740px;
	margin: 0 auto;
	padding: 16px;
	overflow: hidden;
}

.card-header {
	background-color: #CC0100;
	color: white;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 16px;
	text-align: center;
}

.card-notice {
	padding: 16px 0 0 16px;
}

.card-content {
	padding: 16px;
}

.card-row {
	display: flex;
	align-items: center;
	padding: 10px 16px;
	border-bottom: 1px solid #eee;
}

.left {
	/* flex: 1; */
	min-width: 50%;
	max-width: 50%;
	width: 50%;
	text-align: left;
	font-weight: 500;
}

.right {
	text-align: left;
	font-weight: 600;
}

.continue-button-container {
	display: flex;
	justify-content: center;
}

.continue-button-container > span {
	padding: 0 12px;
}

.input-container {
	line-height: 1.5;
	text-indent: 0;
	font-size: 1.375rem;
	box-sizing: border-box !important;
	list-style: none !important;
	margin-left: 0 !important;
	overflow: visible;
	clear: both;
	margin-top: 16px;
	padding: 0;
}

.input-container .input-inner-container {
	display: flex;
	width: calc(100% + 15px);
}

.input-container .field-label {
	margin: 12px 0 6px 0;
	font-size: inherit;
	font-weight: 700;
	clear: both;
	display: inline-block;
	line-height: 1.3;
}

.input-container span {
	display: inline-block;
	margin-right: -4px;
	padding-right: 16px;
	vertical-align: top;
	width: 50%;
	margin-left: 0 !important;
	padding-top: 2px;
}

span.student-info {
	width: 100%;
}

.input-container input {
	box-shadow: inset 0 1px 3px #eee;
	border-radius: 0;
	display: inline-block;
	line-height: 1;
	margin: 0;
	border: 1px solid #606369;
	width: 94% !important;
	font-family: inherit;
	font-size: inherit;
	letter-spacing: normal;
	padding: .3125rem .4375rem .1875rem;
}


.input-container span > label {
	font-weight: 600;
	display: block;
	font-size: .813em;
	letter-spacing: .5pt;
	white-space: nowrap;
	margin: 1px 0 9px 1px;
}

.input-container span > label:focus {
	font-weight: 200;
}

.bu-third-party-payment-form,
.card-error {
	width: 900px;
	margin: 50px auto;
	padding: 16px;
}

.bu-third-party-payment-form > h3 {
	border-bottom: black solid 1px;
}

.error {
	color: #CC0100;
}

.continue-button-container {
	max-width: 740px;
	margin: auto;
	padding: 12px 0 0;
}

.parent-label {
	/* border-bottom: 0.5px black dotted; */ 
	width: 100%;
}

.thank-you-box,
.card-container,
.return-box {
	margin: 0 auto;
	width: 35%;
}

.return-box {
	width: 50%;
}

.card-container {
	margin-top: 10px;
	width: 75%;
}

.modal-overlay {
	position: fixed; inset: 0;
	background: rgba(0,0,0,.45);
	display: none;        /* default hidden */
	align-items: center;  /* vertically center .modal */
	justify-content: center;
	z-index: 1000;
}
.modal-overlay.open { display: flex; }

.modal {
	background: #fff;
	padding: 1.8rem 2rem;
	max-width: 420px;
	width: 90%;
	border-radius: .6rem;
	box-shadow: 0 4px 16px rgba(0,0,0,.25);
	animation: pop .18s ease-out;
	text-align: center;
}
@keyframes pop { from { transform: scale(.85); opacity: 0; } }

.modal h2   { margin-top: 0; }
.modal-btns { margin-top: 1.2rem; display: flex; gap: .6rem; justify-content: center; }
.modal button {
	padding: .6rem 1.3rem;
	border: none; border-radius: .4rem;
	cursor: pointer; font-size: 1rem;
}
.modal button.confirm { background:#0077ff; color:#fff; }
.modal button.cancel  { background:#ddd;    color:#000; }


span.anchor‐span {
	color: #0000EE;               
	text-decoration: underline;   
	cursor: pointer;              
	background-color: transparent;
}

span.anchor‐span:hover {
	color: #0000EE;               
	text-decoration: underline;   
}


span.anchor‐span:active {
	color: #FF0000;
	text-decoration: underline;
}


span.anchor‐span:focus {
	outline: 1px dotted;                         
	outline: -webkit-focus-ring-color auto 1px;   
}

