.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;
}

.columns ul li {
	margin-bottom: 25px;
	list-style: none;
}

.sub-header {
	text-transform: uppercase;
/*	margin-top: -10px; */
}

@media (max-width: 567px) {
	  #responsive-container {
		margin-top: 0;
		height: auto;
	  }
	  .zero-margin{
		margin: 0;
	  }
	  .pricing-ammount {
		font-size: 33px;
		margin-top: 3rem;
	  }
	
	  .sub-header {
		text-transform: uppercase;
		font-size: 2.5rem;
		margin: 1.2rem 0 0.2rem;
	  }
		.sub-header li {
			 transform: translateY(-26px);
		}
	
	
	  .price-header {
		font-size:  24px;
		margin-top: 2.5rem;
	  }
	  .responsive-direction {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		gap: 2rem;
	}
	.pricing-ammount-subtitle {
	  font-size: 14px;
	  color: #777;
	  min-height: 20px;
	  margin-top: 2rem;
	  margin-bottom: 2rem;
	}
	a.button, button.button {
		background-color: #1B2654;
		color: #fff;
		text-transform: uppercase;
		text-decoration: none;
		padding: 10px 44px;
		border: 0px;
		font-size: 2rem;
		margin-bottom: 3rem;
	}
	.button-wrapper {
		position: absolute;
		bottom: 10px;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		text-align: center;
		height: 6rem;
	}
	
	.bottom-mid-border {
		width: 140px;
		border: 3px solid #ccc;
		margin: 0px auto;
		
		position: absolute;
		bottom: 0px;
		left: 50%;
		transform: translateX(-50%);
	}
	
	/* This will center the buttons in the card, when the page is viewed from mobile display */
	.columns ul li {
		margin-bottom: 0;
	}
	
	.payment-plan p {
		margin-top: 50px;
	}
}
  

img.header-img {
	width: 100%;
	display: block;
}





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;
}









/* Fix only the long annual-subscription title */
#payment-plan .annual-plan > .sub-header {
	margin: 0;
	padding: 0 8px;

	display: flex;
	align-items: center;
	justify-content: center;

	font-size: 15px;
	line-height: 1.2;
	white-space: normal;
	overflow-wrap: break-word;
	text-wrap: balance;
}

/* Override the existing 2.5rem mobile title only for this card */
@media (max-width: 567px) {
	#payment-plan .annual-plan > .sub-header {
		margin: 0;
		font-size: 18px;
		line-height: 1.15;
	}
}