.columns {
	margin: 0px auto;
	padding: 8px;
	display: flex;
	justify-content: center;
	font-family: "Montserrat", sans-serif;	
}

.payment-plan {
	border: 2px solid #eee;
	width: 230px;
	margin-right: 10px;
	text-align: center;
	list-style: none;
	overflow: hidden;

	padding: 0px;
	min-height: 460px;
	
	position: relative;
	
	
  display: grid;
  grid-template-rows:
    80px   /* header image slot (fixed height for consistency) */
    48px    /* sub-header slot */
    22px    /* "Price" label slot */
    60px    /* amount slot */
    20px    /* subtitle slot -> THIS is the shared baseline */
    1fr;    /* flexible spacer pushing content to the bottom */

  gap: 20px;
}

  
img.header-img {
	width: 100%;
	display: block;
}

.columns ul li {
	margin-bottom: 25px;
	list-style: none;
}

.sub-header {
	text-transform: uppercase;
/*	margin-top: -10px; */
}

a.button, button.button {
	background-color: #1B2654;
	color: #fff;
	text-transform: uppercase;
	text-decoration: none;
	padding: 10px 44px;
	border: 0px;
}

.bottom-mid-border {
	width: 140px;
	border: 3px solid #ccc;
	margin: 0px auto;
	
	position: absolute;
	bottom: 0px;
	left: 50%;
	transform: translateX(-50%);
}

.pricing-ammount {
	font-size: 42px;
	margin: 10px 0;
	min-height: 60px;
	
}

.button-wrapper {
	position: absolute;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	text-align: center;
}

.price-info-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
}

.spacer {
	flex-grow: 1;
}

.pricing-ammount-subtitle {
  font-size: 14px;
  color: #777;
  min-height: 20px;
  margin-top: 50px;
  margin-bottom: 25px;
}
