body {
	overflow-x: hidden !important;
}

#wrap #content {
	border: none;
	background-color: #fff;
}

#content-inner {
	padding: 0;
	margin-top: 0;
}

body.responsive #content #content-inner {
	margin-top: 0 !important;
	padding-bottom: 0 !important;
}

/* General rules */
.margin-bottom-large {
	margin-bottom: 50px;
}

.margin-top-large {
	margin-top: 50px;
}

.section-inner-padding {
	padding-top: 10px;
	padding-bottom: 50px;
}

@media screen and (max-width: 480px) {
	.margin-bottom-large {
		margin-bottom: 10px;
	}

	.section-inner-padding {
		padding-bottom: 20px;
	}
}

.wide-background {
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	max-width: 100vw;
	position: relative;
	right: 50%;
	width: calc(100vw - 0px);
	background-color: #f4f4f4;
}

.inner-section {
	max-width: 1008px;
	margin: 0 auto;
	padding-left: 15px;
	padding-right: 15px;
}

@media (min-width: 1200px) {
	.inner-section {
		max-width: 1034px;
	}
}

.wide-background > .inner-section {
	padding-left: 30px;
	padding-right: 30px;
}

.img-responsive {
	object-fit: cover;
	display: block;
	width: 100%;
}

.short-transition {
	transition: all 0.2s;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
}

@media screen and (max-width: 768px) {
	.padding-md {
		padding: 0 15px;
	}
}
/* END General rules */

/* Sticky banner */
.affix-top {
	position: absolute;
	top: -300px;
	left: -400px;
}

.affix.sticky-top {
	background-color: #383838;
	box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.2);
}

.sticky-top .inner-section {
	border-top-width: 1px;
	font-size: 16px;
	margin-top: 10px;
	margin-bottom: 10px;
}

.sticky-top .row {
	padding: 10px 0;
	margin: 0;
}

.banner-text {
	color: #fff;
	margin-bottom: 5px;
}

.semi-bold {
	font-weight: 600 !important;
}

.banner-text:last-child {
	margin-bottom: 0;
}

.yellow-text {
	color: #fdc012;
}
/* END Sticky banner */

/* Info section */
#info .section {
	border: none;
	background: none;
	background-color: #f8f8f8;
}

.flex-disp .width-1-2 img {
	height: 220px;
}

@media screen and (min-width: 640px) {
	.flex-disp {
		display: -webkit-flex;
		display: flex;
	}

	.flex-disp > div {
		-webkit-flex: 1;
		-ms-flex: 1;
		flex: 1;
	}

	.flex-disp .width-1-2 {
		width: 50%;
		-webkit-flex: 1;
		-ms-flex: 1;
		flex: 1;
	}

	.width-1-2 [class^="col-"] {
		float: right;
	}

	.flex-disp .width-1-2 [class^="col-"]:first-of-type {
		min-height: 270px;
	}

	.flex-disp .width-1-2 .row {
		margin-right: 0;
		margin-left: 0;
	}

	.flex-disp .width-1-2 div[class^="col-"] {
		width: 100%;
	}
}

@media screen and (min-width: 769px) {
	.flex-disp .width-1-2 [class^="col-"]:first-of-type {
		min-height: 220px;
	}
}
/* END Info Section */

/* Header section + Search */
.header-img {
	position: absolute;
	height: 100%;
	width: 100%;
	object-fit: cover;
}


/* Alternate header backgroud images */
.header-nyc {
	background: url(https://img.propertyshark.com/img/ptaxes/NYC1.webp);
	background-size: cover;
}

.header-nycb {
	background: url(https://img.propertyshark.com/img/ptaxes/NYC3.webp);
	background-size: cover;
}

.header-nw {
	background: url(https://img.propertyshark.com/img/ptaxes/NW4.webp);
	background-size: cover;
}

#search_form_section .inner-section {
	padding: 10rem 45px;
	position: relative;
}

.search {
	background-color: rgba(254, 254, 254, 0.9);
	padding: 30px 40px;
	max-width: 800px;
	margin: 0 auto;
}

.search h4 {
	font-weight: 400;
	font-size: 17px;
	line-height: 1.5;
}

.search .ps-form {
	background: transparent;
}

.search .ps-lq-fix_sm .ps-inner {
	margin-right: 83px;
	overflow: visible;
}

.search .ps-form-crit {
	margin: 0;
}

@media screen and (max-width: 480px) {
	.search .ps-form-crit {
		margin-bottom: 5px;
		padding: 0;
	}
}

#add_search_submit_button {
	font-size: 14px;
	font-weight: 600;
	min-width: unset;
	height: 45px;
}

@media screen and (min-width: 481px) {
	.search .ps-lq-fix_sm .ps-fix {
		width: 100px;
	}

	#add_search_submit_button {
		border-radius: 0px 4px 4px 0px;
	}
}

#search_token_address {
	height: 45px;
}

.search .ps-form-buttons {
	padding: 0;
}

.search-label {
	margin-left: 10px;
	color: #666666;
	font-weight: 500;
}

#tax_info {
	margin-top: 25px;
	margin-bottom: 10px;
}

#tax_info h3 {
	font-size: 16px;
	font-weight: 500;
	margin-top: 10px;
}

@media screen and (min-width: 769px) {
	.float-right {
		float: right;
	}
}

.search #tax_info .address {
	font-size: 16px;
	font-weight: 700;
	line-height: 34px;
}

.search #tax_info .address a {
	color: #027abb;
	cursor: pointer;
}
/* END Header section + Search */

/* Calculator + Map */
a.img-link {
	display: block;
	overflow: hidden;
}

a.img-link:hover {
	box-shadow: 0px 5px 10px -5px rgb(0 0 0 / 30%);
}

.img-link:hover img {
	transform: scale(1.01);
}

#calculator a:hover,
#calculator a:focus,
#map a:hover,
#map a:focus {
	color: inherit;
}
/* END Calculator + Map */

/* FAQ Section */
.faq-card {
	padding-left: 5px;
	padding-right: 5px;
	margin-bottom: 20px;
}

@media screen and (min-width: 481px) and (max-width: 993px) {
	.faq-card:nth-child(3n) {
		padding-right: 0;
	}

	.faq-card:nth-child(3n + 1) {
		padding-left: 0;
	}
}

@media screen and (min-width: 481px) {
	.faq-card:first-child {
		padding-left: 0;
	}

	.faq-card:last-child {
		padding-right: 0;
	}
}

.faq-card a {
	background-color: #e5f8ff;
	color: inherit;
	border-radius: 6px;
	display: block;
	min-height: 130px;
	padding: 20px 10px;
	text-decoration: none;
}

.faq-card a:hover {
	color: #027abb;
	text-decoration: underline;
	box-shadow: 0px 5px 10px -5px rgba(0, 0, 0, 0.3);
}

@media screen and (max-width: 480px) {
	.faq-card {
		max-width: 250px;
		margin-left: auto;
		margin-right: auto;
	}
}
/* END FAQ Section */

/* Stats Section */
.stats-card {
	min-height: 200px;
	background-color: #fff;
	padding: 15px;
	margin-bottom: 3rem;
	overflow: hidden;
}

.stats-card .row {
	margin-bottom: 10px;
}

.stats-card .row:last-child {
	margin-bottom: 0;
}

.stats-card .row:not(:last-child):after {
	content: "";
	display: block;
	margin: 0 15px;
	border-bottom: 1px solid #ccc;
}

.stats-card h3 {
	font-size: 16px;
	font-weight: 700;
	margin: 10px 0 15px;
}

.stats-col-2 {
	overflow-x: hidden;
	padding-right: 0;
	margin-right: 15px;
}

@media screen and (min-width: 481px) {
	.stats-col-2 {
		width: calc(50% - 15px);
	}
}

@media screen and (min-width: 768px) {
	.stats-col-2 {
		width: calc(50% - 15px);
	}
}

@media screen and (min-width: 992px) {
	.stats-col-2 {
		width: calc(58.33333333% - 15px);
	}
}

.stats-bar {
	height: 15px;
	margin-bottom: 5px;
}

.blue {
	background-color: #027abb;
}

.cyan {
	background-color: #00bdff;
}

.orange {
	background-color: #ef8407;
}

@media screen and (min-width: 769px) {
	.stats-card {
		max-width: 45%;
	}

	.stats-card:nth-of-type(2n) {
		float: right;
	}
}

@media screen and (max-width: 768px) {
	.stats-card {
		margin-left: 15px;
		margin-right: 15px;
	}
}
/* END Stats Section */
.buttons > a {
	margin-bottom: 10px;
}

@media screen and (min-width: 481px) {
	.buttons > a:not(:first-child) {
		margin-left: 20px;
	}
}

.wide-background[id="county_list"] {
	background-color: #fafafa;
}

#county_list a:hover,
#county_list a:focus {
	color: #027abb;
}

/* ============================= */
/* PROPERTY TAXES BY STATE */
/* ============================= */

.hero-section {
	margin-bottom: 2rem;
}

.hero-section .inner-section {
	padding-top: 244px;
	position: relative;
}

.hero-section .inner-section h1 {
	width: 100%;
	text-align: center;
	font-size: 40px;
	line-height: 1.2;
	font-weight: bold;
	letter-spacing: -0.2px;
	color: #333333;
	position: absolute;
	left: 0;
	bottom: 0;
}

@media screen and (min-width: 769px) {
	.hero-section .inner-section h1 {
		width: calc(100% - 280px);
		margin-left: 280px;
	}
}

@media screen and (max-width: 768px) {
	body.responsive .inner-section h1 {
		font-size: 30px;
	}
}

@media screen and (max-width: 480px) {
	body.responsive .inner-section h1 {
		font-size: 22px;
	}
}

.sidebar {
	display: none;
}

@media screen and (min-width: 769px) {
	.sidebar {
		width: 280px;
		height: 100%;
		margin-bottom: 30px;
		position: fixed;
		position: sticky;
		top: 20vh;
		display: block;
	}

	.main {
		max-width: calc(100% - 280px);
		padding-left: 30px;
		float: right;
	}
}

@media screen and (max-width: 768px) {
	.main {
		padding: 0 30px;
	}
}

#content .main p {
	font-size: 16px;
	line-height: 28px;
	letter-spacing: -0.08px;
	color: #707070;
	margin-bottom: 30px;
}

#content .main p.small-font {
	font-size: 12px;
	line-height: 1.5;
}

#content .main h2 {
	font-size: 28px;
	line-height: 1.2;
	font-weight: bold;
	letter-spacing: -0.14px;
	margin-top: 30px;
}

#content h3.blue-h {
	font-size: 20px;
	line-height: 1.2;
	font-weight: bold;
	letter-spacing: -0.1px;
	color: #027abb;
}

@media screen and (max-width: 480px) {
	body.responsive #content h3 {
		font-size: 16px;
	}
}

#content .sidebar h2 {
	font-size: 22px;
	margin-bottom: 15px;
	padding-top: 0;
	margin-top: 0;
	line-height: 33px;
	font-weight: bold;
	letter-spacing: -0.11px;
	border-bottom: 1px solid #b0b0b0;
}

.sidebar a {
	font-size: 14px;
	line-height: 1.5;
	display: block;
	margin-bottom: 10px;
	letter-spacing: -0.07px;
	padding-left: 15px;
	position: relative;
}

.sidebar a:before {
	content: ">>";
	font-size: 10px;
	line-height: 2;
	letter-spacing: -2px;
	display: inline-block;
	position: absolute;
	left: 0;
}

/* Tax Tables */
.fixed-table-head {
	overflow-y: auto;
	height: 635px; /* approx. the height for 20 rows */
	margin-top: 20px;
	scrollbar-width: thin;
}

.fixed-table-head thead {
	position: sticky;
	top: 0;
}

.taxes-table {
	border-bottom: none;
	margin-bottom: 0;
}

.fixed-table-head::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}

/* Handle */
.fixed-table-head::-webkit-scrollbar-thumb {
	background: #b0b0b0;
	border-radius: 4px;
}

.fixed-table-head::-webkit-scrollbar-thumb:hover {
	background: #9c9c9c;
}

.taxes-table thead tr {
	position: relative;
}

.taxes-table thead tr:after {
	content: "";
	width: 100%;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	border-bottom: 2px solid #027abb;
}

.taxes-table thead th {
	background-color: #fff;
	padding-top: 15px;
	padding-bottom: 15px;
}

.taxes-table .blue-col,
.taxes-table thead th.blue-col {
	background-color: #e6eef2;
}

.taxes-table tbody tr {
	border-bottom: none;
}

.taxes-table tbody tr:hover,
.taxes-table tbody tr:hover .blue-col {
	background-color: rgba(238, 238, 238, 0.7);
}

/* Highest Taxes */
.highest-taxes {
	margin-top: 40px;
	margin-bottom: 10px;
}

.highest-taxes thead tr th {
	font-size: 14px;
	font-weight: bold;
	padding: 15px;
	border-bottom-width: 2px;
	border-bottom-style: solid;
}

.highest-taxes tbody tr td {
	font-size: 13px;
	line-height: 16px;
	padding: 10px 15px;
}

.highest-taxes tbody tr td:last-child {
	text-align: right;
}

.highest-taxes.peach thead tr th {
	background-color: #f2dfd3;
	border-bottom-color: #ff9800;
}

.highest-taxes.light-blue thead tr th {
	background-color: #e6eef2;
	border-bottom-color: #027abb;
}

#content #disclaimer h3 {
	font-size: 20px;
	color: #333;
}

.logos {
	max-width: 90%;
	margin: 0 auto;
}

.logos > div {
	min-height: 100px;
	text-align: center;
}

.logo-img {
	max-width: 100%;
}

@media screen and (min-width: 640px) {
	.footer-tools-links {
		column-count: 2;
	}
}

@media screen and (min-width: 1024px) {
	#county_list .inner-section.no-vertical-padding {
		padding-left: 0;
		padding-right: 0;
	}
}

@media screen and (min-width: 769px) {
	.sidebar-footer {
		width: 280px;
	}
}

@media screen and (max-width: 768px) {
	.no-vertical-padding .main {
		padding: 0 15px;
	}
}
