/**
Theme Name: guardely
Author: Mark-Digital
Author URI: https://mark-digital.com
Description: Guardely WP theme, based on parent app.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: guardely
Template: astra
*/

body #content {
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;
}
::selection {
	background: initial; 
	color: initial;
}
a:focus, a:active {
	outline: none;
	box-shadow: none;
}

h1,h2,h3,h4,h5,h6 {
	font-style: normal;
	font-family: var(--fontFamily);
	color: var(--defaultTextColor);
	font-weight: 500;
	line-height: 1.33em;
}
h1 {font-size: 30px;}
h2 {font-size: 25px;}
h3 {font-size: 20px;}
h4 {font-size: 15px;}
h5 {font-size: 13px;}
h6 {font-size: 12px;}

a.btn {
	color: var(--dark-grey-2);
	font-family: var(--fontFamily);
}

.ast-separate-container {
	background-color: #fff;
}
.ast-container.alt-head {
	padding: 4em 15px;
	justify-content: center;
}
.city-landing-page > .ast-container {
	margin-top: 4em;
}
.header_wrapper{
	background-color: #f5f5f5;
}
.ast-container, .ast-container-fluid {
	padding-left: 15px;
	padding-right: 15px;
}
.ast-header-html-1 a, .ast-header-html-1 a:hover, .ast-builder-menu-1 .menu-item > .menu-link:hover {
	color: initial;
}
.ast-builder-menu-1 .menu-item > .menu-link {
	color: var(--dark-grey-2);
	font-size: 15px;
	font-weight: 500;
}
.site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row {
	min-height: initial;
}
.site-header, footer{
	font-style: normal;
	font-family: var(--fontFamily);
}
.blur-placeholder {
	width: 100px;
	height: 100px;
	background: linear-gradient(135deg, #ccc, #eee);
	filter: blur(5px);
	border-radius: 8px;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
} 
.blur-placeholder span {
	color: #fff;
	font-size: 12px;
	position: absolute;
}
footer {
	border: var(--card-border-width) solid var(--card-border-color);
}
ul#ast-hf-menu-1 li {
	cursor: pointer;
}
.city-landing-page #primary{
	margin-top:0;
}
.ast-footer-copyright {
	color: var(--dark-grey-2);
	font-size: var(--defaultFontSize);
	line-height: var(--defaultLineHeight);
	font-weight: 500;
}

.city-header {
	text-align: center;
}
.city-header h1, .city-header h2 {
	color: #2C3E50;
}
.city-header h1{
	font-weight: 700;
}
.heading-block{
	text-align: center;
}
.gutters-wp {
	--bs-gutter-x: 10px;
	--bs-gutter-y: 10px;
}
.heading-block span, .heading-block div {
	text-transform: uppercase;
}
.btn--sm.alt {
	padding: 8px 10px;
	font-size: 13px;
	background: var(--dark-grey);
	color: var(--white);
	border: 0;
}
.card-custom-1 .heading-block {
	gap: var(--card-spacer-y);
}

/* Search Info Section */
.search-info, .linked-info {
	text-align: center;
	margin-bottom: 40px;
}

.search-info h2, .linked-info h2 {
	color: #213C75;
	margin-bottom: 10px;
}

.search-info p {
	font-size: 18px;
	color: #34495E;
}
.linked-info .links-box{
	font-size: 24px;
    text-decoration: none;
    color: #333;
}
.linked-info .links-box a{
	font-size: 16px;
}
.linked-info .links-box a:hover{
	text-decoration: underline;
}
.offenders-list {
	margin-bottom: 100px;
}
.card-body.transformed {
	padding: 28px !important;
}
.offenders-list h3 {
	font-size: 28px;
	color: #213C75;
	margin-bottom: 20px;
}

.offender {
	background-color: #ECF0F1;
	padding: 20px;
	margin-bottom: 20px;
	border-radius: 5px;
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

.offender h4 {
	font-size: 22px;
	margin-bottom: 10px;
	color: #2C3E50;
}

.offender p {
	font-size: 16px;
	color: #7F8C8D;
}


/* Zip Code Breakdown Section */
.zipcode-breakdown h2 {
	color: #213C75;
	margin-bottom: 20px;
	text-align: center;
}

.zipcode-section {
	max-width: 1000px;
	margin: 0 auto;
	/* margin-bottom: 100px; */
	border-radius: 0;
	padding: 28px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr 1fr;
	column-gap: 22px;
	row-gap: 28px;
}

.single-zip {
	display: flex;
	flex-direction: column;
	border-radius: 8px;
	border: 1px solid #ccc;
	align-items: center;
	padding: 20px;
	border-radius: 8px;
}
.zipcode-section p {
	font-family: 'Inter';
	font-size: 18px;
	color: #000000;
	margin-bottom:0;
	text-align: center;
	gap: 22px;
	text-align: center;
}

.zipcode-section .details-link {
	text-decoration: none;
	font-size: 14px;
	font-family: 'Inter';
}
.zipcode-section .details-link:hover {
	text-decoration: underline;
}

/* Call to Action Section */
.cta-section {
	text-align: center;
	padding: 50px;
	padding-top:0;
	border-radius: 5px;
}

.cta-section h2 {
	font-size: 40px;
	margin-bottom: 6px;
	color: #2C3E50;
	margin-top: 10px;
}
.cta-section .btn {
	padding: 0 50px;
}

.cta-section p {
	font-size: 20px;
	margin-bottom: 20px;
}
[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
	width: 25px;
	height: 25px;
	fill: #2c3d50;
}
.ast-footer-copyright p {
	line-height: 1.6;
}


/* Added by Aman*/
.mt-8{
	margin-top: 8em !important;
}
.custom-row {
    display: flex;
    flex-wrap: wrap; /* Ensures cards wrap on smaller screens */
    gap: 0px; /* Space between cards */
    align-items: stretch; /* Make all cards equal height */
}
.custom-col {
    display: block;
	margin: 0 0 15px 0;
}
.offender-card {
    display: flex;
    flex-direction: column; /* Stack content vertically */
    justify-content: space-between; /* Distribute space evenly */
    height: 100%; /* Enforce equal height */
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    background: #fff;
    text-align: center; /* Center-align text content */
}

.offender-thumb {
	margin: 0 auto;
    flex-shrink: 0; /* Prevent thumbnail from resizing */
}

.offender-thumb img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 8px;
}

.offender-info {
    flex-grow: 1; /* Stretch to fill available space */
    display: flex;
    flex-direction: column; /* Align info content vertically */
    justify-content: center; /* Center content in this section */
}
.offender-info .offender-name,
.offender-info .offender-address {
    margin: 5px 0; /* Add consistent spacing between name and address */
    white-space: normal; /* Allow text wrapping */
    overflow: hidden; /* Hide overflow text */
    text-overflow: ellipsis; /* Add ellipsis if text is too long */
}
.offender-info .offender-name {
    font-size: 18px;
    font-weight: bold;
    display: -webkit-box; /* Enable line clamp */
    -webkit-line-clamp: 2; /* Limit to 2 lines */
    -webkit-box-orient: vertical; /* Vertical orientation for line clamp */
}
.offender-info .offender-address {
    font-size: 14px;
}
.offender-card a {
    margin-top: 10px;
    padding: 8px 12px;
    background: #007bff;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-size: 14px;
    transition: background 0.3s;
}
.offender-card a:hover {
    background: #0056b3;
}
.offender-chart-section{
	margin-bottom: 50px;
}
.ast-footer-copyright{
	text-align: center;
}
.offender-chips{
	display: block;
    text-align: left;
}
.offender-chips .chip-box{
	display: inline-flex;
	color: #fff;
	flex-flow: row;
	justify-self: flex-start;
	padding: 5px 6px 5px;
	border-radius: 20px;
	gap: 4px;
	align-items: center;
	margin: 2px 0;
	font-size: 11px;
}
.chip-box.red-chip{
	background-color: #d20a2e;
}
.chip-box.blue-chip{
	background-color: #0047ab;
}
.chip-box.violet-chip{
	background-color: #6c3baa;
}
.scrolled-nav-bar{
	position: fixed;
	top: 0;
	width: 100%;
	background: #fff;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	z-index: 9999;
}
.scrolled-nav-bar .top-bar-sticky{
	display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.mobile-menu{
	display: none;
}
.txt-16.regular {
    color: var(--text--black);
    font-weight: 400;
    line-height: 150%;
    display: block;
}
.txt-16 {
    letter-spacing: -.16px;
    font-size: 16px;
    line-height: 100%;
    text-decoration: none;
}
.txt-16.medium.white {
    color: #fff;
}
.txt-16.medium {
    font-weight: 500;
    line-height: 120%;
}
.logo-nav {
    width: 136px;
}
.w-inline-block {
    max-width: 100%;
    display: inline-block;
}
.logo-nav img {
    vertical-align: middle;
    max-width: 100%;
    display: inline-block;
}
.btn-nav-wrap {
    grid-column-gap: 1.5em;
    grid-row-gap: 1.5em;
    justify-content: center;
    align-items: center;
	position: relative;
	z-index: 100;
    display: flex;
}
.btn-nav-black {
    background-color: #020122;
    border-radius: 62.44em;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    padding: 1em 1.75em 1em;
    text-decoration: none;
    display: flex;
}
.hamBurger-menu{
	display: none;
}
@media only screen and (min-width: 768px){
	.nav-links {
		z-index: 1;
		grid-column-gap: 3.13em;
		grid-row-gap: 3.13em;
		justify-content: center;
		align-items: center;
		display: flex;
		position: absolute;
		inset: 0% 25em;
	}
}
@media only screen and (max-width: 768px) {
	.ast-mobile-header-wrap .ast-primary-header-bar, .ast-primary-header-bar .site-primary-header-wrap {
		min-height: 90px;
	}
	button.menu-toggle.main-header-menu-toggle.ast-mobile-menu-trigger-minimal {
		padding-right: 0;
	}
	.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-primary-header-bar, .ast-header-break-point #masthead .ast-mobile-header-wrap .ast-below-header-bar, .ast-header-break-point #masthead .ast-mobile-header-wrap .ast-above-header-bar {
		padding-left: 15px;
		padding-right: 15px;
	}
	.ast-container.alt-head {
		padding: 3em 15px;
	}
	.ast-separate-container #primary, .ast-separate-container #secondary {
		padding: 1em 0;
	}
	.ast-separate-container #content .ast-container {
		padding-left: 15px;
		padding-right: 15px;
	}
	h1 { font-size: 25px; }
	h2 { font-size: 20px; }
	h3 { font-size: 18px; }
	h4 { font-size: 16px; }
	h5 { font-size: 13px; }
	h6 { font-size: 10px; }
	.city-header h1 {
		font-size: 25px;
		margin-bottom: 10px;
	}
	.city-header h2 {
		font-size: 20px;
	}
	.search-info h3,
	.offenders-list h3,
	.zipcode-breakdown h3,
	.cta-section h3 {
		font-size: 24px;
	}
	.city-landing-page > .ast-container {
		margin-top: 2em;
	}
	.cta-section {
		padding: 20px;
		padding-top: 0;
	}
	.cta-section h2 {
		font-size: 30px;
	}
	.offenders-list, .zipcode-section {
		margin-bottom: 80px;
	}
	.cta-section .btn {
		font-size: 16px;
		padding: 10px 20px;
	}
	.custom-row-5 {
		--size-col: 33%;
	}
	/* .custom-row > .custom-col {
		padding-left: 0;
		padding-right: 0;
	} */
	.gutters-wp {
		--bs-gutter-x: 30px;
		--bs-gutter-y: 30px;
	}
	.btn--sm.alt {
		font-size: 11px;
	}
	.card-body.transformed {
		padding: 25px 20px !important
	}
	.card {
		--card-spacer-y: 20px;
		--card-spacer-x: 12px;
	}
	.zipcode-section{
		grid-template-columns: 1fr;
		grid-template-rows: 1fr;
	}
	.cta-section p {
		font-size: 18px;
	}
	section.cta-section {
		margin-bottom: 50px;
	}
	.desktop-menu, .desktop-menu .nav-links, .desktop-menu .btn-nav-wrap{
		display: none;
	}
	.mobile-menu {
		padding: 12px;
		background-color: #f2f2f2;
		text-align: center;
		font-family: var(--fontFamily);
	}
	.mobile-menu .nav-links{
		padding: 10px;
	}
	.hamBurger-menu{
		display: block;
		width: 24px;
		height: 24px;
	}
}
@media only screen and (max-width: 450px) {
	.custom-row-5 {
		--size-col: 100%;
	}
	.desktop-menu, .desktop-menu .nav-links, .desktop-menu .btn-nav-wrap{
		display: none;
	}
	.mobile-menu {
		padding: 12px;
		background-color: #f2f2f2;
		text-align: center;
		font-family: var(--fontFamily);
	}
	.mobile-menu .nav-links{
		padding: 10px;
	}
	.hamBurger-menu{
		display: block;
		width: 24px;
		height: 24px;
	}
}