/* --- Adjust the nav to work with the hero background --- */

#nav .container .content .buttons a.button.blueberry.outline {
	color: #FFF;
	border-color: #FFF;
	background-color: transparent;
}

#nav .container .content .buttons a.button.blueberry.outline:hover {
	color: #112867;
	border-color: #FFF;
	background-color: #FFF;
}

/* ------ End nav adjustments ------ */

.single-text-card img:not(.circle-icon-img) {
	margin: 0;
	padding-bottom: 20px;
}

.single-text-card .button .button-img {
	padding: 0;
	margin-right: 10px;
}

.widget-section .text-card h3 {
	display: flex;
	align-items: center;
}

.widget-section .text-card h3 img {
	margin-right: 15px;
}

/* table css for sms code table */
.compare-table {
	border-collapse: separate;
	overflow: revert;
	width: 100%;
	table-layout: fixed;
}

table.compare-table thead tr td,
table.compare-table tbody tr td {
	width: 25%;
}

table.compare-table thead tr td,
table.compare-table tbody tr td {
	color: #FFFFFF;
	font-size: 16px;
}

table.compare-table thead tr td {
	background-color: transparent;
	border: 1px solid #5C77A7;
	font-weight: 800;
}

table.compare-table tbody tr {
	background-color: transparent;
}

table.compare-table tbody tr td:nth-of-type(2) {
	background-color: #33477F;
}

table.compare-table tbody tr td:nth-of-type(1) {
	white-space: normal;
}

table.compare-table tbody tr td {
	padding: 30px 18px;
	border: 1px solid #5C77A7;
	line-height: 22px;
}

table.compare-table thead tr td:first-child {
	border-top-left-radius: 10px;
}

table.compare-table thead tr td:last-child {
	border-top-right-radius: 10px;
}

table.compare-table tbody tr:last-child td:first-child {
	border-bottom-left-radius: 10px;
}

table.compare-table tbody tr:last-child td:last-child {
	border-bottom-right-radius: 10px;
}

table.compare-table tr td:first-child {
	min-width: 0;
}

table.compare-table tr td+td {
	border-left: none;
}

table.compare-table tr td:last-child {
	border-left: none;
}

table.compare-table tbody tr td {
	border-top: none;
}

table.compare-table tbody tr td img {
	margin-bottom: -2px;
	min-width: 16px;
}

.each-compare {
	display: flex;
	gap: 10px;
}

/* mobile comparison styles */

.mobile-comparison-cards {
	min-width: 280px;
	margin-bottom: 50px;
}

.mobile-compare-chart {
	display: flex;
	flex-direction: column;
}

h3.mobile-cards-header {
	color: white;
	text-align: center;
	padding-bottom: 30px;
	font-size: 26px;
}

.mobile-comparison-item {
	color: white;
	line-height: 24px;
	flex: 1;
	padding: 15px;
	border: 1px solid #5C77A7;
}

.mobile-comparison-item.slicktext {
	background-color: #33477F;
}

.mobile-compare-chart .mobile-comparison-item+.mobile-comparison-item {
	border-top: none;
}

.mobile-comparison-item span {
	font-size: 15px;
}

.heading-compare {
	font-size: 16px;
	font-weight: 600;
	padding-bottom: 10px;
	text-transform: uppercase;
}

.mobile-comparison-card {
	margin-bottom: 25px;
}

.mobile-comparison-card:last-child {
	border-bottom: none;
}

.mobile-comparison-card h4 {
	color: white;
	text-align: center;
	border: 1px solid #5C77A7;
	border-bottom: 1px;
	padding-top: 15px;
}

.text-card h3.choose-slicktext {
	font-size: 22px;
	font-weight: 600;
}

td.show-more-comparisons {
	border-right: 1px solid #5C77A7 !important;
	border-left: 1px solid #5C77A7 !important;
	text-align: center;
	padding: 25px !important;
	color: #23DDCD !important;
	font-weight: 600;
	cursor: pointer;
	transition: filter 0.3s ease;
}

td.show-more-comparisons:hover .show-more-comparisons-text {
	filter: brightness(1.2);
	transition: filter 0.3s ease;
}

.show-more-comparisons-text {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.show-more-comparisons-text img {
	height: 20px;
}

tr.hidden-additional-comparisons {
	display: none;
}

tr.hidden-additional-comparisons.visible {
	display: table-row;
}

tr.hidden-additional-comparisons td {
	padding: 0;
	overflow: hidden;
}

tr.hidden-additional-comparisons.visible td {
	padding: 30px 18px;
}

.hidden-mobile-additional-comparisons {
	display: none;
}

.hidden-mobile-additional-comparisons.visible {
	display: block;
}

.show-more-mobile-comparisons {
	text-align: center;
	color: #23DDCD;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: filter 0.3s ease;
}

a.action.link-callout {
	background: #F3F4F7;
}

a.action.link-callout:hover {
	background: #F3F4F7;
}


/* comparison graphic */
.comparison-graphic h2 {
	text-align: center;
	color: white;
	font-size: 26px;
	padding-bottom: 20px;
	text-wrap: balance;
}

.comparison-graphic .comparison-graphic-chart {
	background: white;
	padding: 30px 50px;
	border-radius: 12px;
	position: relative;
}

.comparison-graphic .comparison-graphic-chart .comparison-graphic-save-callout {
	position: absolute;
	top: clamp(-75px, -6vw, -24px);
	left: clamp(10px, 6vw, 75px);
	width: clamp(90px, 18vw, 165px);
	max-width: 15%;
	height: auto;
	z-index: 2;
	pointer-events: none;
}

.comparison-graphic .top-row {
	display: flex;
	font-size: 18px;
	color: #112867;
	font-weight: 500;
	padding: 0 10px;
}

.comparison-graphic .top-row .empty-top-left {
	flex: 0 0 25%;
	padding: 12px;
	box-sizing: border-box;
}

.comparison-graphic .top-row .compare-column {
	border-top: 1px solid #DEE4EA;
	flex: 1 1 0;
	padding: 12px;
	box-sizing: border-box;
	background: #f3f4f7;
	display: flex;
	flex-direction: column;
	justify-content: end;
}

.comparison-graphic .top-row .empty-top-left+.compare-column {
	border-left: 1px solid #DEE4EA;
	border-top-left-radius: 12px;
}

.comparison-graphic .top-row .compare-column:last-child,
.comparison-graphic .top-row .compare-column:last-of-type {
	position: relative;
	border-right: none;
	border-top-right-radius: 0;
}

.comparison-graphic .top-row .compare-column:last-child::after,
.comparison-graphic .top-row .compare-column:last-of-type::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: -10px;
	width: 10px;
	background: #f3f4f7;
	border-top: 1px solid #DEE4EA;
	border-right: 1px solid #DEE4EA;
	border-top-right-radius: 12px;
	box-sizing: border-box;
}

.comparison-graphic .top-row .compare-column .top-row-label {
	font-weight: 800;
	padding-bottom: 10px;
}

.comparison-graphic .bottom-compare-container {
	border: 1px solid #DEE4EA;
	border-radius: 12px;
	padding: 10px 0;
	display: flex;
	flex-direction: column;
	gap: 5px;
	border-top-right-radius: 0;
}

.comparison-graphic .bottom-row {
	display: flex;
	padding: 0;
	margin: 0 10px;
	align-items: center;
	background: #f3f4f7;
	border-radius: 4px;
	font-size: 18px;
	color: #112867;
	font-weight: 500;
}

.bottom-row.emphasized-row {
	background: #D3F8F5;
	border: 1px solid #10869B;
}

.comparison-graphic .bottom-row-label {
	flex: 0 0 25%;
	padding: 12px;
	box-sizing: border-box;
}

.comparison-graphic .bottom-row-value {
	flex: 1 1 0;
	padding: 12px;
	box-sizing: border-box;
}

/* mobile compare chart */
.mobile-comparison-graphic-chart {
    background: white;
    padding: 25px 25px 60px 25px;
    border-radius: 12px;
}

.each-mobile-comparison {
    background: #f3f4f7;
    border-radius: 4px;
    font-size: 16px;
    color: #112867;
    font-weight: 500;
    border: 1px solid #DEE4EA;
    padding: 20px;
}

.each-mobile-comparison:not(:last-child) {
	margin-bottom: 20px;
}

.mobile-top-row {
    display: flex;
    justify-content: space-between;
	gap: 10px;
}

.mobile-top-row-value {
    text-align: right;
}

.mobile-top-row-label,
.message-volume {
    font-weight: 700;
}

.mobile-each-compare-row {
    border: 1px solid #DEE4EA;
    margin-top: 15px;
    padding: 15px;
    border-radius: 4px;
    background: white;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}

.mobile-each-compare-row.emphasized-row {
    background: #D3F8F5;
    border: 1px solid #10869B;
}

.mobile-comparison-graphic-callout {
    text-align: center;
    position: relative;
    margin-top: -50px;
    margin-bottom: 60px;
}


@media all and (max-width: 960px) {

	table.compare-table thead tr td,
	table.compare-table tbody tr td {
		font-size: 14px;
	}

	table.compare-table tbody tr td {
		padding: 30px 10px;
	}

	table.compare-table tbody tr td:nth-of-type(1) {
		white-space: revert;
	}
}

@media all and (max-width: 900px) {
	.comparison-graphic .comparison-graphic-chart .comparison-graphic-save-callout {
		top: -2.5vw;
	}
}

@media all and (max-width: 768px) {
	/* --- Adjust the nav to work with the hero background --- */

	#nav .container .content .buttons a.button.blueberry.outline {
		color: #112867;
		border-color: #112867;
		background-color: transparent;
	}

	#nav .container .content .buttons a.button.blueberry.outline:hover {
		color: #FFF;
		border-color: #112867;
		background-color: #112867;
	}

	/* ------ End nav adjustments ------ */

	.section.padding-bottom-100 {
		padding-bottom: 50px;
	}

	#hero.section.padding-bottom-120 {
		padding-bottom: 60px;
	}

	.no-top-mobile-padding {
		padding-top: 0 !important;
	}
}